Skip to main content

SMTP認証を使用してPHPスクリプトから電子メールを送信する

Anonim

PHPスクリプトから電子メールを送信するのは、簡単で、速く、簡単です…うまくいけば!

PHPを作ることの一部 郵便物() 関数は単純なので、柔軟性の欠如ですが、その1つの問題は、株式PHP 郵便物() 通常は、選択したSMTPサーバーを使用することはできず、SMTP認証もサポートしていません。

幸いにも、PHPの組み込みの欠点を克服することは難しくありません。ほとんどの電子メールユーザーにとって、無料のPEAR Mailパッケージは、必要なすべてのパワーと柔軟性を提供し、必要な送信メールサーバーで認証します。セキュリティを強化するために、暗号化されたSSL接続もPEAR Mailを使用してメールを送信するためにサポートされています。

SMTP認証を使用してPHPスクリプトから電子メールを送信する方法

開始するには、PEAR Mailパッケージをインストールします。通常、これはPHP 4以降で既に行われていますが、すでにPHPを使用しているかどうかわからない場合は、インストールしてインストールしてください。

このコードをコピーしてください:

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!

'); }

この例で太字のテキストをすべて探し、スクリプトのそれらの領域をあなたに関連するものに変更します。それらは唯一の分野です 必須 PHPスクリプトが動作するように変更するだけでなく、件名や本文も調整するようにしてください。

  • から:メッセージを送信する電子メールアドレス
  • :受信者の電子メールアドレスと名前
  • ホスト:送信SMTPサーバー名
  • ユーザー名:SMTPユーザー名(通常はメールの取得に使用されたユーザー名と同じ)
  • パスワード:SMTP認証のパスワード

注意: 上記の例は、SMTP認証で電子メールを送信するPHPスクリプトですが、 なし SSL暗号化。暗号化も同様に、このスクリプトを代わりに使用して、ボールドテキストと情報を交換してください。

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!

'); }