#author("2023-02-11T21:34:04+09:00","","") #author("2023-02-19T16:05:19+09:00","","") #navi(../) * PHPMailerを使ってみる [#sc31159c] PHPMailerのサンプルソースを公開しています。~ PHP標準のmail関連の関数だと、SMTPを使ったメール送信ができませんよね。~ 定番と言われている [[PHPMailer>https://github.com/PHPMailer/PHPMailer]] を使ったサンプルソースを公開しました。 環境は Debian、 Ubuntu で動作確認をしました。~ PHPMailer は提供されているパッケージを apt コマンドでインストールしました。 #contents * 動作確認環境 [#jf514eb7] - ebian GNU/Linux 11 (bullseye) - Ubuntu 22.04.1 LTS (jammy) - Raspbian GNU/Linux 11 (bullseye) php-cliをインストールしコマンドとして実行 * 環境構築 [#q52b31b1] 以下のコマンドで、パッケージをインストールすれば動作確認をすることができます。~ sudo apt install php-cli php-mbstring libphp-phpmailer ** 各パッケージの説明 [#tf57246a] 以下に今回動作させるために必要なパッケージを紹介します。 - php-cli : PHPコマンドラインインタフェース - PHPのMBSTRINGパッケージ - PHPのメール関連モジュール~ https://github.com/PHPMailer/PHPMailer * PHPMailerサンプルソース [#v205421d] PHPMailerのサンプルソースになります。 <?php use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\SMTP; use PHPMailer\PHPMailer\Exception; require 'libphp-phpmailer/autoload.php'; require 'libphp-phpmailer/language/phpmailer.lang-ja.php'; //mb_language("japanese"); //mb_internal_encoding("UTF-8"); mb_language('uni'); mb_internal_encoding('UTF-8'); // インスタンスを生成(true指定で例外を有効化) $mail = new PHPMailer(true); // 文字エンコードを指定 $mail->CharSet = 'utf-8'; try { // デバッグ設定もできます // $mail->SMTPDebug = 2; // デバッグ出力を有効化(レベルを指定) // $mail->Debugoutput = function($str, $level) {echo "debug level $level; message: $str<br>";}; // SMTPサーバの設定 $mail->isSMTP(); // SMTPを使用する $mail->Host = 'smtp.example.com'; // SMTPサーバー $mail->SMTPAuth = true; // SMTP認証をする $mail->Username = 'user_id'; // SMTP認証に使用するユーザID $mail->Password = 'password'; // SMTPサーバーのパスワード $mail->SMTPSecure = 'ssl'; // 暗号化方式 tls | ssl | false $mail->Port = 465; // ポート番号 465|587 など // 送信者指定(2番めの引数は省略できます) $mail->setFrom('sender@example.com', 'そうしん者'); // Fromメールアドレス $mail->addAddress('to1@example.com', 'じゅしん者'); // Toメールアドレス // 以下、必要に応じて設定する // $mail->addAddress('to2@example.com', '受信者名'); // To2メールアドレス // $mail->addCC('cc1@example.com', 'カーボンさん1'); // Cc1 // $mail->addCC('cc2@example.com', 'カーボンさん2'); // Cc2 // $mail->addReplyTo('replyto@example.com', 'リプライさん'); // ReplyTo // $mail->Sender = 'return@example.com'; // Return-path // 送信内容設定 $mail->Subject = 'Send PHPMailer PHP Module'; $mail->Body = "本日は\r\n晴天なり"; // 送信 $mail->send(); } catch (Exception $e) { // エラー(例外) echo "送信に失敗しました ErrorInfo: {$mail->ErrorInfo}"; } 上記のソースを phpmailer_test.php として保存した場合、保存したディレクトリに移動し以下のようにすれば実行できます。 php phpmailer_test.php 以上、Debian, Ubuntu のパッケージを利用した PHPMailerのサンプルソースの紹介でした。