PHPMailer は、HTML コンテンツを含む電子メールの送信と、送信用の添付ファイルの追加をサポートする、カプセル化された PHP 電子メール送信クラスです。PHP 自体とは異なり、mail() 関数は、関連する情報を使用してメール サーバーを設定するだけで済みます。メール送信機能を実現します。
この記事では、サンプルコードを使用して、HTML および添付ファイル付きメールを送信する機能の設定と実装方法を説明します。
require_once('class.phpmailer.php'); // PHPMailer クラスをロードします
$mail = new PHPMailer() //インスタンス化
;
$mail->IsSMTP() // SMTP を有効にする
$mail->Host = "smtp.163.com"; //SMTP サーバー、例として 163 のメールボックスを使用します
$mail->Port = 25; //メール送信ポート
;
$mail->SMTPAuth = true //SMTP 認証を有効にする
$mail->CharSet = "UTF-8" //文字セット
;
$mail->Encoding = "base64" //エンコード方式
;
$mail->Username = "helloweba@163.com" //あなたのメールアドレス
$mail->Password = "xxx" //あなたのパスワード
;
$mail->Subject = "こんにちは" //メールのタイトル
;
$mail->From = "helloweba@163.com" //送信者アドレス (つまり、あなたのメールアドレス)
$mail->FromName = "Moonlight" //送信者の名前
;
$address = "xyz@163.com" //受信者のメールアドレス
;
$mail->AddAddress($address, "Dear");//受信者 (アドレス、ニックネーム) を追加
$mail->AddAttachment('xx.xls','My Attachment.xls') // 添付ファイルを追加し、名前を指定します
$mail->IsHTML(true) //HTML形式のコンテンツをサポートします
$mail->AddEmbeddedImage("logo.jpg", "my-attach", "logo.jpg") //メールに画像を設定します
$mail->Body = 'こんにちは、
友達!
これは
target="_blank">jb51.net のメール!
' //メール本文の内容
;
//
を送信
if(!$mail->Send()) {
echo "メーラー エラー: " . $mail->ErrorInfo;
} その他 {
エコー「メッセージを送信しました!」
コードからわかるように、PHPMailer をインスタンス化した後、SMTP を使用して電子メールを送信するように指定し、SMTP メール サーバーを設定し、メール サーバーが認証を必要としない場合は、$mail->SMTPAuth= を設定します。 false 、パスワードなしで送信できます。次に、中国語の文字をサポートするように文字セットとエンコーディングを設定します。元の PHPMailer パッケージは中国語の文字を適切にサポートしていないため、helloweba の例で改善されたパッケージをダウンロードできます。次に、送信者と受信者を設定し、添付ファイルを追加します。添付ファイルの元の名前には中国語を使用しないことをお勧めします。AddAttachment() で中国語の名前を指定できます。次に、メールの HTML コンテンツを設定し、最後に送信するプロセスは一目瞭然です。
正常に送信されると、次のメールが届きます: