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

PHPスクリプトから発信SMTPサーバーに接続する方法

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

PHPのmail()関数をとてもシンプルにする理由の1つは、その柔軟性が欠けていることですが、その1つの問題は、PHP mail()が普通あなたが選んだSMTPサーバーを使用させないということです。 SMTP認証をサポートします。

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

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

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

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

<?php require_once "Mail.php"; $ from = " Sandra Sender >"; $ to = " Ramona Recipient "; $件名= "こんにちは! $ body = "こんにちは、\ n \ nどうですか? $ host = " mail.example.com "; $ username = " smtp_username "; $ password = " smtp_password "; $ headers = array( 'From' => $ from、 'To' => $ to、 'Subject' => $ subject); $ smtp = Mail :: factory( 'smtp'、array( 'host' => $ホスト、 'auth' => true、 'username' => $ username、 'password' => $ password)); $ mail = $ smtp-> send($ to、$ headers、$ body); if(PEAR :: isError($ mail)){echo( "

"。$ mail-> getMessage()。 ""); } else {echo( "

メッセージは正常に送信されました!"); }?>

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

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

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

<?php require_once "Mail.php"; $ from = " Sandra Sender >"; $ to = " Ramona Recipient >"; $件名= "こんにちは! $ body = "こんにちは、\ n \ nどうですか? $ host = " ssl://mail.example.com "; $ port = " 465 "; $ username = " smtp_username "; $ password = " smtp_password "; $ headers = array( 'From' => $ from、 'To' => $ to、 'Subject' => $ subject); $ username、 'password' => $ smtp = Mail :: factory( 'smtp'、array( 'ホスト' => $ホスト、 'ポート' => $ポート、 'auth' $パスワード)); $ mail = $ smtp-> send($ to、$ headers、$ body); if(PEAR :: isError($ mail)){echo( "

"。$ mail-> getMessage()。 ""); } else {echo( "

メッセージは正常に送信されました!"); }?>