Paano Magpadala ng Email Mula sa PHP Script Gamit ang SMTP Authentication

Talaan ng mga Nilalaman:

Paano Magpadala ng Email Mula sa PHP Script Gamit ang SMTP Authentication
Paano Magpadala ng Email Mula sa PHP Script Gamit ang SMTP Authentication
Anonim

Ano ang Dapat Malaman

  • Mga opsyon sa klase ng PHP: PHPmailer, SwiftMailer, Zend_Mail, XpertMailer, PEAR Mail.
  • PEAR Mail: Tandaan ang pangalan ng mail server > tingnan kung naka-install ang PEAR Mail > baguhin ang PHP file gamit ang mga halimbawang ibinigay.

Ang artikulong ito ay nagpapaliwanag kung paano gamitin ang SMTP authentication para magpadala ng email gamit ang PHP mail() function sa PEAR Mail.

Pagpapadala ng Email Gamit ang PHP Mail Function

Kapag ginamit mo ang PHP mail() function, magpapadala ka ng email nang direkta mula sa iyong web server kaysa sa iyong mail server. Kung mayroon kang mail server sa pamamagitan ng iyong web host, o kahit isang mail server na may ibang host, kadalasan ay mas mahusay na magpadala ng mail sa halip na iyon.

Ang problema ay ang PHP mail() function ay hindi nagbibigay ng anumang built-in na paraan upang magpadala ng mail sa pamamagitan ng SMTP. Kung gusto mong buksan ang functionality na iyon, kakailanganin mong mag-install ng karagdagang PHP class.

Narito ang ilang opsyon na gumagana:

  • PHPmailer
  • SwiftMailer
  • Zend_Mail
  • XpertMailer
  • PEAR Mail

Ipapakita namin sa iyo kung paano gamitin ang PEAR Mail, ngunit maaari mong gamitin ang anumang klase na sumusuporta sa SMTP.

Image
Image

Kung ang iyong web host ay mayroon nang isa o higit pa sa mga klaseng ito na naka-install, malamang na mayroon itong mga tutorial na nauukol sa iyong sitwasyon. Kung gayon, magpatuloy at gamitin ang klase kung saan mayroon kang access.

Gamitin lang ang paraang ito kung gumagamit ka ng PHP para gumawa ng sarili mong mga custom na mail form. Kung gumagamit ka ng content management system (CMS) tulad ng WordPress, maghanap ng plugin o built-in na functionality para magpadala ng mail sa pamamagitan ng SMTP, sa halip na subukang gumawa ng sarili mo.

Paano Gamitin ang PEAR para Magpadala ng Mail Sa pamamagitan ng SMTP

  1. Tiyaking nakaturo ang iyong domain sa mga tala ng Mail Exchange (MX) ng host ng iyong mail server at itala ang pangalan ng iyong mail server. Halimbawa, maaaring ito ay mail.yourdomain.net o smtp.yourdomain.net.
  2. Tingnan kung naka-install na ang PEAR Mail sa iyong mail server.
  3. Kung hindi naka-install ang PEAR Mail, kumunsulta sa iyong web mail host para sa mga partikular na tagubilin sa pag-install nito.
  4. Kapag na-install na ang PEAR Mail, baguhin ang isa sa mga halimbawang PHP file sa mga sumusunod na seksyon upang umangkop sa iyong mga pangangailangan.

Halimbawa PEAR Mail PHP Script Para sa SMTP Mail

Maaari kang lumikha ng sarili mong script mula sa simula kung gusto mo, o baguhin ang sumusunod na halimbawa ayon sa gusto mo. Tiyaking ilagay ang pangalan ng iyong web mail server sa host variable, at gamitin ang iyong impormasyon sa pag-login para sa iyong web mail host sa mga field ng username at password.

require_once "Mail.php";

$from="Pangalan ng Nagpadala ";

$to="Pangalan ng Tatanggap ";

$subject=" Subject Line Here: ";

$body=" anumang mensaheng gusto mo ";

$host="yourmailhost.com";

$username="iyong username o email"; $password="iyong password";

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

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

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

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

echo("

". $mail->getMessage()."

);

} iba pa {echo("

Matagumpay na naipadala ang mensahe!

);}

Halimbawa PEAR Mail PHP Script Para sa SMTP Authentication at SSL Encryption

Kung gusto mong gumamit ng SMTP authentication at SSL encryption, kakailanganin mong gumawa ng ilang pagbabago sa nakaraang halimbawa. Kakailanganin mong ituro ang host variable sa iyong SSL mail server, at tumukoy din ng port number tulad ng 25, 465, 587, 2525 o 8025. Makipag-ugnayan sa iyong web mail host para sa higit pang impormasyon kung hindi mo malaman kung aling port ang pupuntahan. gamitin.

require_once "Mail.php";

$from="Pangalan ng Nagpadala ";

$to="Pangalan ng Tatanggap ";

$subject=" Subject Line Here: ";

$body=" anumang mensaheng gusto mo ";

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

$port="587"; $username="iyong username o email";

$password="iyong password";

$headers=array ('Mula sa'=> $mula sa, ' Sa'=> $to, 'Subject'=> $subject);

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

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

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

echo("

". $mail->getMessage()."

);

} iba pa {echo("

Matagumpay na naipadala ang mensahe!

);}

Inirerekumendang: