Skip to main content

Magpadala ng Email Mula sa isang PHP Script Paggamit ng SMTP Authentication

Week 9 (Abril 2025)

Week 9 (Abril 2025)
Anonim

Ang pagpapadala ng email mula sa PHP script ay simple, mabilis, at madaling … kung ito ay gumagana!

Bahagi ng kung ano ang gumagawa ng PHP mail () Ang pag-andar na simple ay kakulangan ng kakayahang umangkop, ngunit isang problema sa na ang stock PHP mail () ay karaniwang hindi pinapayagan mong gamitin ang SMTP server na iyong pinili, at hindi ito sumusuporta sa SMTP authentication.

Sa kabutihang palad, ang paghihirap sa mga built-in na shortcomings ng PHP ay hindi mahirap. Para sa karamihan ng mga gumagamit ng email, ang libreng PEAR Mail package ay nag-aalok ng lahat ng kapangyarihan at kakayahang umangkop na kinakailangan, at pinatutunayan ito sa iyong nais na palabas na mail server. Para sa pinahusay na seguridad, naka-encrypt na mga koneksyong SSL ang sinusuportahan para sa pagpapadala ng mail gamit ang PEAR Mail.

Paano Ipadala ang Email Mula sa isang PHP Script Sa SMTP Authentication

Upang magsimula, i-install ang pakete ng PEAR Mail. Kadalasan, ito ay tapos na para sa iyo na may PHP 4 at mas bago, ngunit kung hindi ka sigurado kung mayroon ka na nito, magpatuloy at i-install ito.

Kopyahin ang code na ito:

require_once 'Mail.php'; $from = 'Sandra Sender >'; $to = 'Ramona Recipient '; $subject = 'Hi!'; $body = 'Hi, How are you?'; $host = 'mail.example.com'; $username = 'smtp_username'; $password = 'smtp_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() . '

'); } else { echo('

Message successfully sent!

'); }

Hanapin ang lahat ng naka-bold na teksto sa aming halimbawa at baguhin ang mga lugar ng script sa anumang nauugnay sa iyo. Iyon ang mga tanging lugar na iyo dapat baguhin upang maayos ang script ng PHP, ngunit siguraduhing maayos din ang teksto ng paksa at katawan.

  • mula sa: Ang email address kung saan nais mong ipadala ang mensahe
  • sa: Ang email address at pangalan ng tatanggap
  • host: Ang iyong papalabas na pangalan ng SMTP server
  • username: Ang SMTP username (karaniwan ay katulad ng username na ginamit upang kunin ang mail)
  • password: Ang password para sa pagpapatunay ng SMTP

Tandaan: Ang halimbawa sa itaas ay isang PHP script na nagpapadala ng isang email na may SMTP authentication ngunit walang Pag-encrypt ng SSL. Kung nais mo ring i-encrypt, gamitin ang script na ito sa halip, muli, pagpapalit ng naka-bold na teksto sa iyong impormasyon.

require_once 'Mail.php'; $from = 'Sandra Sender >'; $to = 'Ramona Recipient >'; $subject = 'Hi!'; $body = 'Hi, How are you?'; $host = 'ssl://mail.example.com'; $port = '465'; $username = 'smtp_username'; $password = 'smtp_password'; $headers = array ('From' => $from, 'To' => $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() . '

'); } else { echo('

Message successfully sent!

'); }