SMTP аутентификациясын колдонуу менен PHP скриптинен электрондук почтаны кантип жөнөтүү керек

Мазмуну:

SMTP аутентификациясын колдонуу менен PHP скриптинен электрондук почтаны кантип жөнөтүү керек
SMTP аутентификациясын колдонуу менен PHP скриптинен электрондук почтаны кантип жөнөтүү керек
Anonim

Эмнелерди билүү керек

  • PHP классынын параметрлери: PHPmailer, SwiftMailer, Zend_Mail, XpertMailer, PEAR Mail.
  • PEAR Mail: Эскертүү почта серверинин аталышы > PEAR Mail орнотулганын текшериңиз > PHP файлын келтирилген мисалдар менен өзгөртүңүз.

Бул макалада PEAR почтасында PHP mail() функциясы менен электрондук каттарды жөнөтүү үчүн SMTP аутентификациясын кантип колдонуу керектиги түшүндүрүлөт.

PHP почта функциясы менен электрондук кат жөнөтүү

PHP mail() функциясын колдонгондо, сиз почта сервериңизден эмес, түздөн-түз веб-сервериңизден электрондук кат жөнөтөсүз. Эгер веб-хостуңуз аркылуу почта сервериңиз же башка хосту бар почта сервериңиз болсо, анын ордуна почтаны ошол аркылуу жөнөткөнүңүз жакшы.

Маселе PHP mail() функциясы SMTP аркылуу кат жөнөтүүнүн эч кандай камтылган жолун камсыз кылбаганында. Эгер бул функцияны ачкыңыз келсе, кошумча PHP классын орнотушуңуз керек болот.

Бул жерде иштеген кээ бир параметрлер:

  • PHPmailer
  • SwiftMailer
  • Zend_Mail
  • XpertMailer
  • PEAR Mail

Биз сизге PEAR Mailди кантип колдонууну көрсөтөбүз, бирок сиз SMTPди колдогон каалаган классты колдоно аласыз.

Image
Image

Эгер веб-хостуңузда бул класстардын бири же бир нечеси орнотулган болсо, анда сиздин абалыңызга тиешелүү окуу куралдары болушу мүмкүн. Андай болсо, кире алган классты колдонуңуз.

Бул ыкманы сиз өзүңүздүн жеке почта формаларыңызды түзүү үчүн PHP колдонуп жатсаңыз гана колдонуңуз. Эгер сиз WordPress сыяктуу мазмунду башкаруу тутумун (CMS) колдонуп жатсаңыз, өзүңүздүкүн түзүүгө аракет кылбай, SMTP аркылуу кат жөнөтүү үчүн плагинди же орнотулган функцияны издеңиз.

SMTP аркылуу кат жөнөтүү үчүн PEAR кантип колдонсо болот

  1. Домениңиз почта сервериңиздин хостунун Mail Exchange (MX) жазууларына багытталганын текшериңиз жана почта сервериңиздин атын жазып алыңыз. Мисалы, ал mail.yourdomain.net же smtp.yourdomain.net болушу мүмкүн.
  2. PEAR Mail почта сервериңизде орнотулганын текшериңиз.
  3. Эгер PEAR Mail орнотулбаса, аны орнотуу боюнча конкреттүү нускамаларды алуу үчүн веб-почта хостуңуз менен кеңешиңиз.
  4. PEAR Mail орнотулгандан кийин, төмөнкү бөлүмдөрдөгү PHP үлгүсүндөгү файлдардын бирин муктаждыктарыңызга ылайыкташтырыңыз.

SMTP почтасы үчүн PEAR Mail PHP скриптинин мисалы

Кааласаңыз, өзүңүздүн сценарийиңизди нөлдөн баштап түзө аласыз же төмөнкү мисалды өзүңүзгө жаккандай өзгөртө аласыз. Хост өзгөрмөсүнө веб-почта сервериңиздин атын киргизиңиз жана колдонуучу аты жана сырсөз талааларында веб-почта хостуңуз үчүн логин маалыматыңызды колдонуңуз.

require_once "Mail.php";

$from="Жөнөтүүчүнүн аты";

$to="Алуучунун аты";

$subject=" Тема сапы бул жерде: ";

$body=" каалаган билдирүүңүз ";

$host="yourmailhost.com";

$username="колдонуучу атыңыз же электрондук почтаңыз"; $password="сиздин сырсөзүңүз";

$баштыктары=массив ('Кимден'=> $кийин, 'Кимге'=> $ка, 'Тема'=> $subject);

$smtp=Mail::factory('smtp', array ('host'=> $хост, 'auth'=> true, 'username'=> $username, 'password'=> $сырсөз));

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

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

echo("

". $mail->getMessage()."

);

} башка {echo("

билдирүү ийгиликтүү жөнөтүлдү!

);}

SMTP аныктыгын текшерүү жана SSL шифрлөө үчүн PEAR Mail PHP скриптинин мисалы

Эгер сиз SMTP аутентификациясын жана SSL шифрлөөсүн колдонгуңуз келсе, мурунку мисалга бир нече өзгөртүүлөрдү киргизишиңиз керек болот. Сиз SSL почта сервериңизге хост өзгөрмөсүн көрсөтүп, ошондой эле 25, 465, 587, 2525 же 8025 сыяктуу порт номерин көрсөтүшүңүз керек. Эгер кайсы портту таба албасаңыз, көбүрөөк маалымат алуу үчүн веб-почта хостуңузга кайрылыңыз. колдонуу.

require_once "Mail.php";

$from="Жөнөтүүчүнүн аты";

$to="Алуучунун аты";

$subject=" Тема сапы бул жерде: ";

$body=" каалаган билдирүүңүз ";

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

$port="587"; $username="колдонуучу атыңыз же электрондук почтаңыз";

$password="паролуңуз";

$headers=массив ('Кимден'=> $from, ' Кимге'=> $to, 'Тема'=> $subject);

$smtp=Почта::factory('smtp', массив ('хост'=> $хост, 'порт'=> $порт, 'auth'=> true, 'username'=> $колдонуучунун аты, 'пароль'=> $сырсөз));

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

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

echo("

". $mail->getMessage()."

);

} башка {echo("

билдирүү ийгиликтүү жөнөтүлдү!

);}

Сунушталууда: