Skip to main content

Wyślij wiadomość e-mail ze skryptu PHP przy użyciu uwierzytelniania SMTP

Linux Tutorial for Beginners: Introduction to Linux Operating System (Może 2025)

Linux Tutorial for Beginners: Introduction to Linux Operating System (Może 2025)
Anonim

Wysyłanie wiadomości e-mail ze skryptu PHP jest proste, szybkie i łatwe … jeśli to działa!

Część tego, co sprawia, że ​​PHP Poczta() funkcja tak prosta jest brak elastyczności, ale jednym z problemów jest to, że PHP zapasów Poczta() zazwyczaj nie pozwala na korzystanie z wybranego serwera SMTP i nie obsługuje uwierzytelniania SMTP.

Na szczęście pokonanie wbudowanych niedociągnięć PHP nie jest trudne. W przypadku większości użytkowników poczty e-mail bezpłatny pakiet poczty PEAR zapewnia pełną moc i elastyczność, a także uwierzytelnia się na żądanym serwerze poczty wychodzącej. W celu zwiększenia bezpieczeństwa, zaszyfrowane połączenia SSL są również obsługiwane w celu wysyłania poczty za pomocą poczty PEAR.

Jak wysłać wiadomość e-mail ze skryptu PHP z uwierzytelnianiem SMTP

Aby rozpocząć, zainstaluj pakiet poczty PEAR. Zazwyczaj zostanie to już zrobione dla Ciebie w PHP 4 i późniejszych wersjach, ale jeśli nie masz pewności, czy już je posiadasz, zainstaluj je.

Skopiuj ten kod:

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!

'); }

Znajdź cały pogrubiony tekst w naszym przykładzie i zmień te obszary skryptu na wszystko, co jest dla Ciebie istotne. To są jedyne obszary, które ty musi zmienić, aby skrypt PHP działał, ale także upewnij się, że dostosowałeś tekst tematu i treści.

  • z: Adres e-mail, z którego ma zostać wysłana wiadomość
  • do: Adres e-mail i nazwisko odbiorcy
  • gospodarz: Twoja nazwa wychodzącego serwera SMTP
  • Nazwa Użytkownika: Nazwa użytkownika SMTP (zazwyczaj taka sama jak nazwa użytkownika używana do pobierania wiadomości)
  • hasło: Hasło do uwierzytelniania SMTP

Uwaga: Powyższy przykład dotyczy skryptu PHP, który wysyła wiadomość e-mail z uwierzytelnianiem SMTP, ale bez Szyfrowanie SSL. Jeśli chcesz również szyfrowanie, użyj tego skryptu zamiast tego, zamieniając pogrubiony tekst z informacjami.

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!

'); }