Si të dërgoni email nga një skript PHP duke përdorur vërtetimin SMTP

Përmbajtje:

Si të dërgoni email nga një skript PHP duke përdorur vërtetimin SMTP
Si të dërgoni email nga një skript PHP duke përdorur vërtetimin SMTP
Anonim

Çfarë duhet të dini

  • Opsionet e klasës PHP: PHPmailer, SwiftMailer, Zend_Mail, XpertMailer, PEAR Mail.
  • PEAR Mail: Shënoni emrin e serverit të postës > kontrolloni që PEAR Mail është instaluar > modifikoni skedarin PHP duke përdorur shembujt e dhënë.

Ky artikull shpjegon se si të përdoret vërtetimi SMTP për të dërguar email me funksionin e postës PHP() në PEAR Mail.

Dërgimi i emailit me funksionin e postës PHP

Kur përdorni funksionin PHP mail(), përfundoni duke dërguar email direkt nga serveri juaj në internet dhe jo nga serveri juaj i postës. Nëse keni një server poste përmes hostit tuaj të internetit, apo edhe një server poste me një host tjetër, zakonisht është më mirë të dërgoni postë përmes tij.

Problemi është se funksioni PHP mail() nuk ofron ndonjë mënyrë të integruar për të dërguar postë nëpërmjet SMTP. Nëse dëshironi ta hapni atë funksionalitet, do t'ju duhet të instaloni një klasë shtesë PHP.

Këtu janë disa opsione që funksionojnë:

  • PHPmailer
  • SwiftMailer
  • Zend_Mail
  • XpertMailer
  • PEAR Mail

Ne do t'ju tregojmë se si të përdorni PEAR Mail, por ju mund të përdorni çdo klasë që mbështet SMTP.

Image
Image

Nëse hosti juaj i uebit ka tashmë të instaluar një ose më shumë nga këto klasa, ai me siguri ka udhëzime që kanë të bëjnë me situatën tuaj. Nëse po, vazhdoni dhe përdorni klasën në të cilën keni akses.

Përdoreni këtë metodë vetëm nëse jeni duke përdorur PHP për të krijuar formularët tuaj të personalizuar të postës. Nëse jeni duke përdorur një sistem të menaxhimit të përmbajtjes (CMS) si WordPress, kërkoni një shtesë ose funksionalitet të integruar për të dërguar postë përmes SMTP, në vend që të përpiqeni të krijoni tuajin.

Si të përdorni PEAR për të dërguar postë nëpërmjet SMTP

  1. Sigurohuni që domeni juaj të jetë i drejtuar në të dhënat e Mail Exchange (MX) të hostit të serverit tuaj të postës dhe mbani shënim emrin e serverit tuaj të postës. Për shembull, mund të jetë mail.yourdomain.net ose smtp.yourdomain.net.
  2. Kontrollo për të parë nëse PEAR Mail është instaluar tashmë në serverin tënd të postës.
  3. Nëse PEAR Mail nuk është i instaluar, konsultohuni me hostin tuaj të postës elektronike për udhëzime specifike për ta instaluar atë.
  4. Pasi të instalohet PEAR Mail, modifikoni një nga shembujt e skedarëve PHP në seksionet e mëposhtme për t'iu përshtatur nevojave tuaja.

Script PEAR Mail PHP për postën SMTP

Mund të krijoni skriptin tuaj nga e para nëse dëshironi, ose modifikoni shembullin e mëposhtëm sipas dëshirës tuaj. Sigurohuni që të futni emrin e serverit tuaj të postës elektronike në variablin pritës dhe përdorni informacionin tuaj të identifikimit për hostin tuaj të postës elektronike në fushat e emrit të përdoruesit dhe fjalëkalimit.

require_once "Mail.php";

$from="Emri i dërguesit ";

$to="Emri i marrësit ";

$subject=" Linja e temës këtu: ";

$body=" çdo mesazh që dëshironi ";

$host="yourmailhost.com";

$username="emri juaj i përdoruesit ose emaili"; $password="fjalëkalimi juaj";

$headers=grup ('From'=> $from, 'To'=> $to, 'Subject'=> $subject);

$smtp=Mail::factory('smtp', array ('host'=> $host, 'auth'=> e vërtetë, 'username'=> $username, 'password'=> $password));

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

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

echo("

". $mail->getMessage()."

);

} tjetër {echo("

Mesazhi u dërgua me sukses!

);}

Script PEAR Mail PHP për vërtetimin SMTP dhe enkriptimin SSL

Nëse dëshironi të përdorni vërtetimin SMTP dhe enkriptimin SSL, do t'ju duhet të bëni disa modifikime në shembullin e mëparshëm. Do t'ju duhet të drejtoni variablin pritës në serverin tuaj të postës SSL dhe gjithashtu të specifikoni një numër porti si 25, 465, 587, 2525 ose 8025. Kontaktoni hostin tuaj të postës elektronike për më shumë informacion nëse nuk mund të kuptoni se cilin port duhet përdor.

require_once "Mail.php";

$from="Emri i dërguesit ";

$to="Emri i marrësit ";

$subject=" Linja e temës këtu: ";

$body=" çdo mesazh që dëshironi ";

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

$port="587"; $username="emri juaj i përdoruesit ose emaili";

$password="fjalëkalimi juaj";

$headers=grup ('From'=> $from, ' To'=> $to, 'Subject'=> $subject);

$smtp=Mail::factory('smtp', array ('host'=> $host, 'port'=> $port, 'auth'=> e vërtetë, 'username'=> $username, 'fjalëkalim'=> $password));

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

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

echo("

". $mail->getMessage()."

);

} tjetër {echo("

Mesazhi u dërgua me sukses!

);}

Recommended: