ホームページ >php教程 >php手册 >ThinkPHP は PHPMailer を使用して電子メール送信実装コードを実装します

ThinkPHP は PHPMailer を使用して電子メール送信実装コードを実装します

WBOY
WBOYオリジナル
2016-06-13 12:48:01885ブラウズ

この記事では、ThinkPHP バージョン 2.1 と PHPMailer バージョン 5.1 を使用します。 (後者は、このブログから直接ダウンロードすることをお勧めします。次のコードがすべてのバージョンの PHPMailer で正常に実行されることを保証できないためです)

具体的な手順は次のとおりです:

最初のステップは、PHPMailer クラス ライブラリを追加することです

ダウンロードするにはここをクリックしてください
ダウンロードしたファイルを解凍し、PHPMail ディレクトリを ThinkPHP ディレクトリ内の Vendor に移動します。 (class.phpmailer.php ファイルが ThinkPHPVendorPHPMailerclass.phpmailer.php にあることを確認してください)

2 番目のステップは、メール送信機能を追加することです

プロジェクト ディレクトリの Common フォルダーにある common.php ファイルに次のコードを追加します (存在しない場合は作成してください):

コードをコピー コードは次のとおりです:


/**********
* メールを送信 *
**********/
function SendMail($address,$title,$message)
{
vendor('PHPMailer .class#PHPMailer');
$mail=new PHPMailer();
// SMTP サーバーを使用して電子メールを送信するように PHPMailer を設定します
$mail-> ;IsS​​MTP();
// メールの文字エンコードを設定します。指定されていない場合は、'UTF-8' になります
$mail->CharSet='UTF-8';
//受信者のアドレスを追加します。複数の受信者を追加するために複数回使用できます。 To person
$mail->AddAddress($address);
// メールの本文を設定します
$mail->Body=$message ;
// 電子メールヘッダーの From フィールドを設定します。
$mail->From=C('MAIL_ADDRESS');
// 送信者名を設定します
$mail->FromName='LilyRecruit';
// メールのタイトルを設定します
$mail->Subject=$title;
// SMTP サーバーを設定します。
$mail->Host=C('MAIL_SMTP');
// 「検証が必要」に設定
$mail->SMTPAuth=true;
// ユーザー名とパスワードを設定します。
$mail->Username=C('MAIL_LOGINNAME');
$mail->Password=C('MAIL_PASSWORD');
// メールを送信します。
return($mail->Send());
}
?>



3 番目のステップ、メール情報の設定

Conf ディレクトリ内の config.php を編集し、戻り配列に次の内容を追加します

コードをコピー コードは次のとおりです:


'MAIL_ADDRESS'=>'xxx@126.com', / / メールアドレス
'MAIL_SMTP'=>'smtp.126.com', // メール SMTP サーバー
'MAIL_LOGINNAME'=>'xxx', // メールログインアカウント
'MAIL_PASSWORD'= >' xxx', // メールパスワード

電子メールのログイン アカウントには @ の後の内容を含める必要がある場合があります。ご自身で試してみてください^_^
4 番目のステップは、アクションで電子メールを送信することです
ThinkPHP が common.php の関数を自動的にロードするためです。 , したがって、電子メールを送信する必要がある場合は、次のコードを使用するだけです。
SendMail("xxx@xxx.com","メールタイトル","メール本文");

この時点で、このチュートリアルは終了しました。花を散らして~~~

SendMail("dreamrunner@foxmail.com","I can also use ThinkPHP to send email","Wow wow wow~~");

を正常に設定した学生を歓迎します。

さらにいくつかの手順

メール本文で改行する必要がある場合はどうすればよいですか?実際、最も簡単な方法は—

SendMail("xxx@xxx.com","メールタイトル","メール本文
改行しました~~!");

QQ メールボックス (foxmail を含む) と NetEase の 126 および 163 は正常にテストされました。最近GMailにアクセスしにくくなったのでテストしていません。 GMail では SSL の使用が必要と聞きましたが、必要な学生は自分で Baidu PHPMailer を Google で使用できます。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。