..
Ca orice bun limbaj de programare Ruby, de asemenea, vă permite să trimiteţi mesaje de poştă electronică. Pentru a face acest lucru, nu tastaţi codul de atât de mult, du-te la interpret în loc de limbă un dosar complet al tuturor parametrilor necesare pentru expedierea.
Care stau la baza tot ceea ce avem o bibliotecă specifice, denumite Net:: SMTP, care oferă utilizatorului, cu toate functionalitatile care aveţi nevoie pentru a trimite e-mail prin SMTP (Simple Mail Transfer Protocol), datorita Net bibliotecă:: SMTP va fi posibil să se creeze o obiect care poate deschide un TCP (Transmission Control Protocol), pentru a vă conecta la server pentru a trimite. Obiectul în cauză este utilizat de o metodă specifice, denumite începe.
Este bine să evident că Net:: SMTP nu poate trimite e-mail prin Internet, care nu îndeplinesc o funcţie similară cu cea care poate fi e-mail () în funcţie de un limbaj de scripting ca PHP.
Sarcina seamănă mai mult de faptul că un client de mail cu cea a unei Webmail on-line pentru corespondenţă.
Acestea fiind spuse, să vedem nişte cod, dar mostremo aici un simplu program mic care poate trimite e-mail bazat pe definite de utilizator parametri:
# Trimite un email cu Ruby
Solicită # bibliotecă pentru a vă conecta la server
necesită "net / SMTP '
# Specificaţi parametrii atât expeditor şi destinatar
nome_mittente = 'Numele meu "
email_mittente = 'info@miamail.it'
nome_destinatario = 'Numele tău "
email_destinatario = 'info@suamail.it'
# Specificaţi parametrii de autentificare la server
host_smtp = 'smtp.provider.it'
porta_smtp = 25
dominio_smtp = 'provider.it'
utente_smtp = "utilizator"
password_smtp = 'parola'
# Obiectul şi corpul e-mail
subject = 'Trimite un e-mail cu Ruby "
Organismul = "Hello World. \! n"
Pass # parametri într-o variabilă
mesaj = <<END_OF_MESSAGE
De la: # {nome_mittente} <#} {email_mittente>
Pentru: # {nome_destinatario} <#} {email_destinatario>
Subiect: # {subiectul}
# {Corp}
END_OF_MESSAGE
Trimite un e-mail # prin metoda start
Net:: SMTP.start (host_smtp,
porta_smtp,
dominio_smtp,
utente_smtp,
password_smtp,: neteda) nu | smtp |
smtp.send_message mesaj utente_smtp, email_destinatario
Închideţi # bloc de instrucţiuni
capăt
Pentru a rezuma ceea ce am văzut în cod, putem vedea că primul lucru de făcut este legat de apelul bibliotecă să se conecteze la serverul de poştă electronică.
În al doilea rând, este necesar să se precizeze datele expeditorului, precum şi numele destinatarului si adresa de email a navigaţiei şi aceleaşi date de ghidul care va primi mesajul.
Conexiunea la serverul SMTP nu se poate face fără declararea parametrilor de autentificare necesare: numele de gazdă al serverului, portul pe care asculta serverul este pentru orice mesaje, numele de domeniu pe serverul de poştă electronică , scrisorile de acreditare al expeditorului de utilizare a serviciului (nume de utilizator şi parola).
Se trece apoi cu indicarea obiectului şi corpul mesajului, acesta din urmă este transmis datele ca valori pentru o variabila care contine, de asemenea, anteturile specificate mai sus.
În cele din urmă, metoda de start este numit Net bibliotecă:: SMTP.start prin intermediul parametrilor de autentificare si se conecteaza la server prin intermediul declaraţia face (literal "nu") permite expedierea mesajului.
Notă modul în care simbolul: neteda nu specifica tipul mesajului (nu la fel, atunci format text simplu email-ului), dar metoda de autentificare (sau schema).
La drept vorbind, există 3 metode de autentificare la un server SMTP şi Ruby sprijină-le pe toate, ei sunt LOGIN PLAIN, şi CRAM MD5, dar parametrii de subiect rigurdano referitoare la gestionarea serverului de mail nu şi aceeaşi Ruby, curios poate încă a aterizat pe discurs de către una din multele resurselor din reţea în această privinţă.
| |
Ruby şi Ruby on Rails (Curs)
Crearea de aplicatii software si web cu Ruby şi RoR. Incepand de la 39 €. |