社内サーバーから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使うほうが楽かな