Hoe om e-pos vanaf 'n PHP-skrip te stuur deur SMTP-verifikasie te gebruik

INHOUDSOPGAWE:

Hoe om e-pos vanaf 'n PHP-skrip te stuur deur SMTP-verifikasie te gebruik
Hoe om e-pos vanaf 'n PHP-skrip te stuur deur SMTP-verifikasie te gebruik
Anonim

Wat om te weet

  • PHP-klasopsies: PHPmailer, SwiftMailer, Zend_Mail, XpertMailer, PEAR Mail.
  • PEAR Mail: Let op posbedienernaam >, maak seker dat PEAR Mail geïnstalleer is > wysig PHP-lêer deur gebruik te maak van voorbeelde wat gegee is.

Hierdie artikel verduidelik hoe om SMTP-stawing te gebruik om e-pos met die PHP-pos()-funksie in PEAR Mail te stuur.

Stuur e-pos met die PHP-posfunksie

Wanneer jy die PHP-pos()-funksie gebruik, stuur jy uiteindelik e-pos direk vanaf jou webbediener eerder as jou posbediener. As jy 'n e-posbediener deur jou webgasheer het, of selfs 'n e-posbediener met 'n ander gasheer, is dit gewoonlik beter om eerder e-pos daardeur te stuur.

Die probleem is dat die PHP-pos()-funksie geen ingeboude manier bied om pos via SMTP te stuur nie. As jy daardie funksionaliteit wil oopmaak, sal jy 'n bykomende PHP-klas moet installeer.

Hier is 'n paar opsies wat werk:

  • PHPmailer
  • SwiftMailer
  • Zend_Mail
  • XpertMailer
  • PEAR-pos

Ons sal jou wys hoe om PEAR Mail te gebruik, maar jy kan enige klas gebruik wat SMTP ondersteun.

Image
Image

As jou webgasheer reeds een of meer van hierdie klasse geïnstalleer het, het dit waarskynlik tutoriale wat met jou situasie verband hou. Indien wel, gaan voort en gebruik die klas waartoe jy toegang het.

Gebruik slegs hierdie metode as jy PHP gebruik om jou eie pasgemaakte posvorms te skep. As jy 'n inhoudbestuurstelsel (CMS) soos WordPress gebruik, soek 'n inprop of ingeboude funksionaliteit om e-pos via SMTP te stuur, eerder as om jou eie te probeer skep.

Hoe om PEAR te gebruik om e-pos via SMTP te stuur

  1. Maak seker dat jou domein na die Mail Exchange (MX)-rekords van jou posbedienergasheer verwys is en maak kennis van jou posbedienernaam. Dit kan byvoorbeeld mail.yourdomain.net of smtp.yourdomain.net wees.
  2. Gaan om te sien of PEAR Mail reeds op jou posbediener geïnstalleer is.
  3. As PEAR Mail nie geïnstalleer is nie, raadpleeg jou webposgasheer vir spesifieke instruksies om dit te installeer.
  4. Sodra PEAR Mail geïnstalleer is, wysig een van die voorbeeld PHP-lêers in die volgende afdelings om by jou behoeftes te pas.

Voorbeeld PEAR Mail PHP-skrip vir SMTP-pos

Jy kan jou eie skrif van nuuts af skep as jy wil, of die volgende voorbeeld na jou smaak verander. Maak seker dat jy jou webposbedienernaam in die gasheerveranderlike invoer, en gebruik jou aanmeldinligting vir jou webposgasheer in die gebruikernaam- en wagwoordvelde.

require_once "Mail.php";

$from="Sender Naam ";

$to="Ontvanger Naam ";

$subject=" Onderwerpreël hier: ";

$body=" enige boodskap wat jy wil hê ";

$host="yourmailhost.com";

$username="jou gebruikersnaam of e-posadres";

$password="jou wagwoord";

$headers=skikking ('Van'=> $from, 'To'=> $to, 'Onderwerp'=> $subject);

$smtp=Mail::factory('smtp', array ('host'=> $host, 'auth'=> true, 'gebruikersnaam'=> $gebruikersnaam, 'wagwoord'=> $wagwoord));

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

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

". $mail->getMessage()."

);

} anders {echo("

Boodskap suksesvol gestuur!

);}

Voorbeeld PEAR Mail PHP-skrip vir SMTP-stawing en SSL-enkripsie

As jy SMTP-verifikasie en SSL-enkripsie wil gebruik, sal jy 'n paar wysigings aan die vorige voorbeeld moet maak. Jy sal die gasheerveranderlike na jou SSL-posbediener moet wys, en ook 'n poortnommer soos 25, 465, 587, 2525 of 8025 spesifiseer. Kontak jou webposgasheer vir meer inligting as jy nie kan uitvind watter poort om te doen nie. gebruik.

require_once "Mail.php";

$from="Sender Naam ";

$to="Ontvanger Naam ";

$subject=" Onderwerpreël hier: ";

$body=" enige boodskap wat jy wil hê ";

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

$port="587"; $username="jou gebruikersnaam of e-posadres";

$password="jou wagwoord";

$headers=skikking ('Van'=> $from, ' To'=> $to, 'Subject'=> $subject);

$smtp=Mail::factory('smtp', array ('gasheer'=>) $host, 'port'=> $port, 'auth'=> true, 'gebruikersnaam'=> $gebruikersnaam, 'wagwoord'=> $password));

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

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

echo("

". $mail->getMessage()."

);

} anders {echo("

Boodskap suksesvol gestuur!

);}

Aanbeveel: