memo.xight.org

日々のメモ

PEAR::MailでGmailのSMTPを利用する

Summary

Pear::MailでGmailのSMTPを利用してメールを送信する。
ポート587からSTARTTLSを利用する。

Source

<?php
mb_language("japanese");
mb_internal_encoding("UTF-8");

require_once 'Mail.php';

$params = array(
  'host'     => 'smtp.gmail.com',
  'port'     => 587,
  'auth'     => true,
  'username' => 'example@gmail.com',
  'password' => 'password',
  'debug'    => true,
);

$headers = array(
  'From'    => 'example@gmail.com',
  'To'      => 'example@gmail.com',
  'Subject' => mb_encode_mimeheader(mb_convert_encoding("メールのタイトル","JIS","UTF-8"))
);

$recipients = 'example@gmail.com';
$body = mb_convert_encoding("メールの内容","JIS","UTF-8");

$smtp = Mail::factory('smtp', $params);
$e = $smtp->send($recipients, $headers, $body);

if ( PEAR::isError($e) ) echo $e->getMessage() . "\n";
?>


追記 [2010-06-15]

http://ap.atmarkit.co.jp/bbs/core/flinux/15247 より

$params = array(
	'host'     => 'tls://smtp.gmail.com',
	'port'     => 465,
	'auth'     => true,
	'username' => 'account', // @より左部分のみ
	'password' => 'password',
	'debug'    => false,
	'protocol'=>'SMTP_AUTH'
);


ぷららの場合
$params = array(
	'host'     => 'secure.plala.or.jp',
	'port'     => 25,
	'auth'     => true,
	'username' => 'account@subdomain.plala.or.jp',
	'password' => 'password',
	'debug'    => true, // false
	'protocol'=>'SMTP_AUTH'
);


Reference

たら風呂 - 2007-04-04 - PEAR::MailでGmailのSMTPを使う
http://d.hatena.ne.jp/taraburo/20070404/1175694545