![]() |
|
Snippets |
|
How to use sfMail to encode Body of Japanese Email.
The Japanese Email usually use ISO-2022-JP. But, I want to use UTF-8 of any Email template files. For example...
I create PROJECT_DIR/lib/myMail.class.php
myMail.class.php
<?php class myMail extends sfMail { public function setBody ($body) { parent::setBody(mb_convert_encoding($body, "JIS", "UTF-8")); } } ?>
OK, Use this class from your Action.
actions.class.php
public function executeSendmail() { $mail = new myMail(); .... }
This is very simple and effective mail helper.
Original code is taken from Smarty's mailto plugin.
This helper scrambles your email addresses so those nasty web bots 'can not' harvest them.
<?php function encode_mail($Address, $Caption=null) { if ($Caption == null) $Caption = $Address; $string = 'document.write(\'<a href="mailto:'.$Address.'">'.$Caption.'</a>\');'; $js_encode = ''; for ($x=0; $x < strlen($string); $x++) $js_encode .= '%' . bin2hex($string[$x]); return '<script type="text/javascript">eval(unescape(\''.$js_encode.'\'))</script>'; } ?>
<?php use_helper('MailEncode') ?> My email: <?php echo encode_mail('info@example.com'); ?> or My email: <?php echo encode_mail('info@example.com', 'Damjan Malis'); ?>