Cum se trimit e-mail dintr-un script PHP folosind autentificarea SMTP

Cuprins:

Cum se trimit e-mail dintr-un script PHP folosind autentificarea SMTP
Cum se trimit e-mail dintr-un script PHP folosind autentificarea SMTP
Anonim

Ce trebuie să știți

  • Opțiuni de clasă PHP: PHPmailer, SwiftMailer, Zend_Mail, XpertMailer, PEAR Mail.
  • PEAR Mail: Notați numele serverului de e-mail > verificați dacă PEAR Mail este instalat > modificați fișierul PHP folosind exemplele date.

Acest articol explică cum să utilizați autentificarea SMTP pentru a trimite e-mail cu funcția PHP mail() în PEAR Mail.

Trimiterea de e-mailuri cu funcția PHP Mail

Când utilizați funcția PHP mail(), ajungeți să trimiteți e-mail direct de pe serverul dvs. web, mai degrabă decât de pe serverul dvs. de e-mail. Dacă aveți un server de e-mail prin gazda dvs. web sau chiar un server de e-mail cu o altă gazdă, de obicei este mai bine să trimiteți e-mail prin acesta.

Problema este că funcția PHP mail() nu oferă nicio modalitate încorporată de a trimite e-mailuri prin SMTP. Dacă doriți să deschideți această funcționalitate, va trebui să instalați o clasă PHP suplimentară.

Iată câteva opțiuni care funcționează:

  • PHPmailer
  • SwiftMailer
  • Zend_Mail
  • XpertMailer
  • PEAR Mail

Vă vom arăta cum să utilizați PEAR Mail, dar puteți folosi orice clasă care acceptă SMTP.

Image
Image

Dacă gazda dvs. web are deja instalate una sau mai multe dintre aceste clase, probabil că are tutoriale referitoare la situația dvs. Dacă da, continuă și folosește clasa la care ai acces.

Folosiți această metodă numai dacă utilizați PHP pentru a vă crea propriile formulare de e-mail personalizate. Dacă utilizați un sistem de management al conținutului (CMS) precum WordPress, căutați un plugin sau o funcționalitate încorporată pentru a trimite e-mailuri prin SMTP, în loc să încercați să vă creați propriul dvs..

Cum se utilizează PEAR pentru a trimite e-mailuri prin SMTP

  1. Asigură-te că domeniul tău este îndreptat către înregistrările Mail Exchange (MX) ale gazdei serverului tău de e-mail și notează numele serverului tău de e-mail. De exemplu, poate fi mail.yourdomain.net sau smtp.yourdomain.net.
  2. Verificați dacă PEAR Mail este deja instalat pe serverul dvs. de e-mail.
  3. Dacă PEAR Mail nu este instalat, consultați gazda dvs. de e-mail web pentru instrucțiuni specifice de instalare.
  4. Odată ce PEAR Mail este instalat, modificați unul dintre exemplele de fișiere PHP din secțiunile următoare pentru a se potrivi nevoilor dvs.

Exemplu de script PHP PEAR Mail pentru e-mail SMTP

Puteți să vă creați propriul script de la zero, dacă doriți, sau să modificați următorul exemplu după bunul plac. Asigurați-vă că introduceți numele serverului de e-mail web în variabila gazdă și utilizați informațiile de conectare pentru gazda de e-mail web în câmpurile pentru nume de utilizator și parolă.

require_once "Mail.php";

$from="Nume expeditor";

$to="Nume destinatar";

$subject=" Subiect aici: ";

$body=" orice mesaj doriti ";

$host="yourmailhost.com";

$username="numele dvs. de utilizator sau adresa de e-mail"; $parolă=„parola ta”;

$headers=matrice („De la”=> $de la, „Pentru”=> $la, „Subiect”=> $subject);

$smtp=Mail::factory('smtp', array ('gazdă'=> $gazdă, 'auth'=> adevărat, 'nume utilizator'=> $nume utilizator, 'parolă'=> $parolă));

$mail=$smtp->send($to, $headers, $body);

dacă (PEAR::isError($mail)) {

echo("

". $mail->getMessage()."

);

} altfel {echo ("

Mesajul trimis cu succes!

);}

Exemplu de script PHP PEAR Mail pentru autentificare SMTP și criptare SSL

Dacă doriți să utilizați autentificarea SMTP și criptarea SSL, va trebui să faceți câteva modificări la exemplul anterior. Va trebui să îndreptați variabila gazdă către serverul dvs. de e-mail SSL și, de asemenea, să specificați un număr de port, cum ar fi 25, 465, 587, 2525 sau 8025. Contactați gazda de e-mail web pentru mai multe informații dacă nu vă puteți da seama ce port să folosiți.

require_once "Mail.php";

$from="Nume expeditor";

$to="Nume destinatar";

$subject=" Subiect aici: ";

$body=" orice mesaj doriti ";

$host="ssl://yourmailhost.com";

$port="587"; $username=„numele de utilizator sau adresa de e-mail”;

$parola=„parola ta”;

$headers=matrice („De la”=> $de la, ' Către'=> $to, 'Subiect'=> $subject);

$smtp=Mail::factory('smtp', array ('gazdă'=>) $gazdă, „port”=> $port, „auth”=> adevărat, „nume utilizator”=> $nume utilizator, „parolă”=> $parolă));

$mail=$smtp->send($to, $headers, $body);

if (PEAR::isError($mail)) {

echo ("

". $mail->getMessage()."

);

} altfel {echo ("

Mesajul trimis cu succes!

);}

Recomandat: