本文整理汇总了PHP中CakeEmail::charset方法的典型用法代码示例。如果您正苦于以下问题:PHP CakeEmail::charset方法的具体用法?PHP CakeEmail::charset怎么用?PHP CakeEmail::charset使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CakeEmail
的用法示例。
在下文中一共展示了CakeEmail::charset方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _getEmailByNewStyleCharset
protected function _getEmailByNewStyleCharset($charset, $headerCharset) {
$email = new CakeEmail(array('transport' => 'Debug'));
if (! empty($charset)) {
$email->charset($charset);
}
if (! empty($headerCharset)) {
$email->headerCharset($headerCharset);
}
$email->from('someone@example.com', 'どこかの誰か');
$email->to('someperson@example.jp', 'どこかのどなたか');
$email->cc('miku@example.net', 'ミク');
$email->subject('テストメール');
$email->send('テストメールの本文');
return $email;
}
示例2: sendMail
/**
* メールを送信する
*
* @param string $to 送信先アドレス
* @param string $title タイトル
* @param mixed $body 本文
* @param array $options オプション
* @return bool 送信結果
*/
public function sendMail($to, $title = '', $body = '', $options = array())
{
$options = array_merge(array('agentTemplate' => true, 'template' => 'default'), $options);
if (!empty($this->siteConfigs['smtp_host'])) {
$transport = 'Smtp';
$host = $this->siteConfigs['smtp_host'];
$port = $this->siteConfigs['smtp_port'] ? $this->siteConfigs['smtp_port'] : 25;
$username = $this->siteConfigs['smtp_user'] ? $this->siteConfigs['smtp_user'] : null;
$password = $this->siteConfigs['smtp_password'] ? $this->siteConfigs['smtp_password'] : null;
$tls = $this->siteConfigs['smtp_tls'] && $this->siteConfigs['smtp_tls'] == 1;
} else {
$transport = 'Mail';
$host = 'localhost';
$port = 25;
$username = null;
$password = null;
$tls = null;
}
$config = array('transport' => $transport, 'host' => $host, 'port' => $port, 'username' => $username, 'password' => $password, 'tls' => $tls);
$cakeEmail = new CakeEmail($config);
// charset
if (!empty($this->siteConfigs['mail_encode'])) {
$encode = $this->siteConfigs['mail_encode'];
} else {
$encode = 'ISO-2022-JP';
}
// ISO-2022-JPの場合半角カナが文字化けしてしまうので全角に変換する
if ($encode == 'ISO-2022-JP') {
$title = mb_convert_kana($title, 'KV', "UTF-8");
if (is_string($body)) {
$body = mb_convert_kana($body, 'KV', "UTF-8");
} elseif (isset($body['message']) && is_array($body['message'])) {
foreach ($body['message'] as $key => $val) {
if (is_string($val)) {
$body['message'][$key] = mb_convert_kana($val, 'KV', "UTF-8");
}
}
}
}
//CakeEmailの内部処理のencodeを統一したいので先に値を渡しておく
$cakeEmail->headerCharset($encode);
$cakeEmail->charset($encode);
//$format
if (!empty($options['format'])) {
$cakeEmail->emailFormat($options['format']);
} else {
$cakeEmail->emailFormat('text');
}
//bcc 'mail@example.com,mail2@example.com'
if (!empty($options['bcc'])) {
// 文字列の場合
$bcc = array();
if (is_string($options['bcc'])) {
if (strpos($options['bcc'], ',') !== false) {
$bcc = explode(',', $options['bcc']);
} else {
$bcc[] = $options['bcc'];
}
// 配列の場合
} elseif (is_array($options['bcc'])) {
$bcc = $options['bcc'];
}
foreach ($bcc as $val) {
if (Validation::email(trim($val))) {
$cakeEmail->addBcc($val);
}
}
unset($bcc);
}
//cc 'mail@example.com,mail2@example.com'
if (!empty($options['cc'])) {
// 文字列の場合
$cc = array();
if (is_string($options['cc'])) {
if (strpos($options['cc'], ',') !== false) {
$cc = explode(',', $options['cc']);
} else {
$cc[] = $options['cc'];
}
// 配列の場合
} elseif (is_array($options['cc'])) {
$cc = $options['cc'];
}
foreach ($cc as $val) {
if (Validation::email(trim($val))) {
$cakeEmail->addCc($val);
}
}
unset($cc);
}
// to 送信先アドレス (最初の1人がTOで残りがBCC)
//.........这里部分代码省略.........