日本語のメールを送信する場合。
適宜、文字コードを jis に変換しするように、sfMail を拡張。
クラス jisMail を作る。
田中<tanaka@hoge.com>
というフォーマットも解釈してくれるオマケつき。
適宜、文字コードを jis に変換しするように、sfMail を拡張。
クラス jisMail を作る。
class jisMail extends sfMailsetFrom と setSender では、
{
public function __construct()
{
parent::__construct();
parent::setCharset('iso-2022-jp');
parent::setEncoding('7bit');
}
public function setSubject($str)
{
return parent::setSubject(mb_convert_encoding($str, 'iso-2022-jp', 'UTF-8'));
}
public function setBody($str)
{
return parent::setBody(mb_convert_encoding($str, 'iso-2022-jp', 'UTF-8'));
}
public function setFrom($address, $name = null)
{
if ($name == null)
{
if (preg_match('/([^<]*)<([^>]*)>/u', $address, $ms) == 1)
{
$name = $ms[1];
$address = $ms[2];
}
}
parent::setFrom($address, mb_encode_mimeheader(mb_convert_encoding($name,'iso-2022-jp','UTF-8'),'iso-2022-jp','B'));
}
public function setSender($address, $name = null)
{
if ($name == null)
{
if (preg_match('/([^<]*)<([^>]*)>/u', $address, $ms) == 1)
{
$name = $ms[1];
$address = $ms[2];
}
}
parent::setSender($address, mb_encode_mimeheader(mb_convert_encoding($name,'iso-2022-jp','UTF-8'),'iso-2022-jp','B'));
}
}
田中<tanaka@hoge.com>
というフォーマットも解釈してくれるオマケつき。