PHPMailerが動かなかったのでPear::Mailで送信できるようにした

社内サーバーからSMTP経由でメール送信したかったのですが、使用しているPHPのバージョンが5.3なのでPHPMailerが動かなかったのでPearのMailを使用するようにしました
なぜPHP5.3なのか、バージョンアップすればいいじゃんというのは置いときます

とりあえずPear::Mailを使用できるようにインストール

#pear install -a Mail

インストール後はPHPで使用できるように設定していきます

<?php
require_once "Mail.php";
$params = array(
 "host" => "example.com",    // SMTPサーバー
 "port" => 587,              // ポート
 "auth" => "PLAIN",          // SMTP認証方法
 "username" => "user",       // SMTPユーザー名
 "password" => "password"    // SMTPパスワード
);

$mailObject = Mail::factory("smtp", $params);

$recipients = "xxxxxx@example.com"  // 送信先アドレス

$headers = array(
 "To" => "yyyyy@example.com",   // ここには送信されません
 "From" => "zzzzz@exapmle.com",
 "Subject" => "タイトル"
);

$body = "メール本文";

// メール送信
$mailObject->send($recipients, $headers, $body);

最初設定していたときに$headersの「To」を色々変更していたけどそこでないことに気付くまでしばらく悩んでました
これでなんとか外部のSMTP経由でメール送信することが出来ました
PHP7を使用している場合はPHPMailer使うほうが楽かな

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください