gmailのsmtpサーバー(smtp.gmail.com)を利用してmailを送信する方法。文字化けするのでutf8にする必要がある。
require_once 'Zend/Loader.php';
Zend_Loader::registerAutoload();
$to = "送信先のアドレス";
$toName = "送信先の名前";
$subject = "phpによるmail送信";
$message = "成功";
$user = "googleアカウント(gmailのアドレス)";
$pass = "アカウントのパスワード";
$config = array('auth' => 'login', 'ssl' => 'ssl', 'username' => $user, 'password' => $pass);
$transport = new Zend_Mail_Transport_Smtp('smtp.gmail.com', $config);
$mail = new Zend_Mail('UTF-8');
$mail->setFrom($user, 'dumsco');
$mail->addTo($to, $toName);
$mail->setSubject($subject);
$mail->setBodyHtml($message);
$mail->send($transport);
追記
・docomoとsoftbank当てにメールを送る方法。
ドコモとソフトバンクは、UTF-8が使えるため、特にコードを書き換える必要無し。
$config = array('auth' => 'login', 'ssl' => 'ssl', 'username' => $user, 'password' => $pass);
$transport = new Zend_Mail_Transport_Smtp('smtp.gmail.com', $config);
$mail = new Zend_Mail('UTF-8');
$mail->setFrom($user, $fromName);
$mail->addTo($to, $toName);
$mail->setSubject($subject);
$mail->setBodyHtml($message);
$mail->send($transport);
・auにメールを送る方法。
auはutf8が使えないのでShift_JISに文字コードを変換した。しかし、本文が見れず、しかたないのでtextの形式で送った。
$config = array('auth' => 'login', 'ssl' => 'ssl', 'username' => $user, 'password' => $pass);
$transport = new Zend_Mail_Transport_Smtp('smtp.gmail.com', $config);
$fromName = mb_convert_encoding($fromName, 'Shift_JIS' ,'UTF-8');
$user = mb_convert_encoding($user, 'Shift_JIS' ,'UTF-8');
$toName = mb_convert_encoding($toName, 'Shift_JIS' ,'UTF-8');
$subject = mb_convert_encoding($subject, 'Shift_JIS' ,'UTF-8');
$message = mb_convert_encoding($message, 'Shift_JIS' ,'UTF-8');
$mail = new Zend_Mail('Shift_JIS');
$mail->setFrom($user, $fromName);
$mail->addTo($to, $toName);
$mail->setSubject($subject);
$mail->setBodyText($message);
$mail->send($transport);