ZendFramework1/メール/送信

ZendFramework1/メール/送信

メールを送信するにはZend_Mailコンポーネントを使う

今回は簡単にアカウントが取れるGmailでテストしてみたので認証部分は↓な感じ。

スゴイ簡単 最後のsend部分を適当に書いてますが、このsendのエラーハンドリングをちゃんと書かないと実用的なプログラムにはならない

//メール内容の設定
$fromName = '発信者(俺)';
$fromMailAddress = 'hogehogehogehoge@gmail.com';
$toName = '受信者(俺)';
$toMailAddress = 'piyopiyopiyopiyo@ezweb.ne.jp';
$subjest = 'テストメールです';
$body = 'テスト本文';
 
//文字コード設定
//メール自体の文字コード 日本語メールなのでISO-2022-JP(jis)指定
$mailCharset = 'ISO-2022-JP';
//ソースコード自体はUTF8で記述しているのでこう記述
$sourceCharset = 'UTF-8';
 
//本文を文字コードにあわせて変換
$fromName = mb_convert_encoding($fromName, $mailCharset, $sourceCharset);
$toName = mb_convert_encoding($toName, $mailCharset, $sourceCharset);
$subjest = mb_convert_encoding($subjest, $mailCharset, $sourceCharset);
$body = mb_convert_encoding($body, $mailCharset, $sourceCharset);
 
 
//認証準備 GMail用
$authConfig = array('auth' => 'plain',
                    'username' => 'hogehogehogehoge@gmail.com',
                    'password' => 'papapapapass',
                    'ssl' => 'ssl',
                    'port' => 465);
 
 
 
//送信準備 送信メールサーバ設定
Zend_Mail::setDefaultTransport(new Zend_Mail_Transport_Smtp('smtp.gmail.com', $authConfig));
 
 
//メールを作成する
$mail = new Zend_Mail($mailCharset);
 
$mail->setFrom($fromMailAddress, $fromName);
$mail->addTo($toMailAddress, $toName);
$mail->setSubject($subjest);
$mail->setBodyText($body);
 
//送信実行
try {
    $mail->send();
} catch (Zend_Exception $ze) {
    echo '失敗';
    echo $ze;
}

Tag

php/zendframework1/mail/send.txt · 最終更新: 2017-09-26 18:24 by ore