..
Zoals elke goede programmeertaal Ruby kunt u ook e-mailberichten. Om dit te doen, niet zozeer code type, ga je gewoon naar de tolk in plaats van de taal een volledig dossier van alle parameters die nodig zijn om te sturen.
Ten grondslag liggen aan alles wat we hebben een specifieke bibliotheek genaamd Net:: SMTP, die de gebruiker met alle functionaliteit die nodig zijn om e-mail verzenden via SMTP (Simple Mail Transfer Protocol), dankzij de bibliotheek Net luidt als volgt:: SMTP wordt het mogelijk om een te creëren object in staat om een TCP (Transmission Control Protocol) te openen naar de server te verbinden voor het verzenden. Het voorwerp in kwestie wordt gebruikt door een specifieke methode genaamd te starten.
Het is goed om dat duidelijk Netto:: SMTP kan geen e-mail verzenden via het internet, dat niet het uitvoeren van een functie vergelijkbaar met die die de mail () functie van een scripting-talen als PHP worden.
De taak lijkt meer die van een mail client dan een Webmail op correspondentie online.
Dat gezegd hebbende, laten we eens wat code zien, maar hier mostremo een eenvoudig programma dat e-mail kan versturen op basis van door de gebruiker gedefinieerde parameters:
# Stuur een e-mail met Ruby
# Roept de bibliotheek om verbinding met de server
require 'net / smtp "
# Geef de parameters van zowel de verzender als de ontvanger
nome_mittente = 'Mijn naam'
email_mittente = 'info@miamail.it'
nome_destinatario = 'je naam'
email_destinatario = 'info@suamail.it'
# Geef de authenticatie parameters aan de server
host_smtp = 'smtp.provider.it'
porta_smtp = 25
dominio_smtp = 'provider.it'
utente_smtp = "gebruiker"
password_smtp = 'wachtwoord'
# Onderwerp en de inhoud van de e-mail
subject = 'Stuur een e-mail met Ruby'
body = "Hello World!. \ n"
# Pass parameters om een variabele
message = <<END_OF_MESSAGE
Van: # {} nome_mittente <# {} email_mittente>
Naar: # {} nome_destinatario <# {} email_destinatario>
Onderwerp: # {subject}
# {Body}
END_OF_MESSAGE
# Stuur de e-mail via de start-methode
Net:: SMTP.start (host_smtp,
porta_smtp,
dominio_smtp,
utente_smtp,
password_smtp,: gewoon) do | smtp |
smtp.send_message bericht utente_smtp, email_destinatario
# Sluit het blok van instructies
einde
Samen te vatten wat we zagen in de code, kunnen we zien dat de eerste ding om te doen is te bellen op de bibliotheek te verbinden met de mailserver.
Ten tweede is het noodzakelijk om de gegevens over de afzender en de ontvanger naam en e-mailadres van schepen en van dezelfde gegevens over de gebruiker die het bericht ontvangen te geven.
De verbinding met de SMTP-server kan niet worden gemaakt zonder bekendmaking van de noodzakelijke authenticatie parameters: de hostnaam van de server, de poort waarop de server is te luisteren op berichten, de domeinnaam op de mail server , de geloofsbrieven van de afzender om de service te gebruiken (gebruikersnaam en wachtwoord).
Het dan gaat met een aanduiding van het onderwerp en de hoofdtekst van het bericht, is de laatste gegevens doorgegeven als waarden voor een variabele die bevat ook de vooraf gespecificeerde headers.
Ten slotte is de start methode heet de bibliotheek Net:: SMTP.start door authenticatie parameters aan de server en verbinding via de doe verklaring (letterlijk "do") maakt het versturen van het bericht.
Merk op hoe het symbool: gewoon niet het type bericht (niet hetzelfde dan de platte tekst van de e-mail), maar de authenticatie methode (of schema) te geven.
Eigenlijk zijn er 3 manieren van authenticatie aan een SMTP-server en Ruby ondersteunt ze allemaal, ze zijn PLAIN, LOGIN en CRAM MD5, maar parameters rigurdano onderwerp met betrekking tot het beheer van de mail server en niet hetzelfde Ruby, de nieuwsgierige kan nog landde op toespraak van een van de vele bronnen te vinden op het internet in dit opzicht.
| |
Ruby en Ruby on Rails (Course)
Maak software en webapplicaties met Ruby en RoR. Van 39 €. |