February 04, 2013

PEAR :: Mail 設定のメモ

CakePHPで、画像をメール添付したかったため、PEAR::Mailを使う際に調べたメモ。

require_once("Mail.php");
require_once("Mail/mime.php");
$header['From'] = "info@example.net";
$header['To'] = "hogehoge@hogehoge.net";
$header['Bcc'] = "hoge_bcc@hogehoge.net";
$header['Subject'] = mb_encode_mimeheader('メールの件名ですよ~メールの件名ですよ~', 'JIS', 'B', "\r\n" , 9 );
$html_param['head_charset'] = "ISO-2022-JP";
$html_param['html_encoding'] = "ISO-2022-JP";
$html_param['html_charset'] = "UTF-8";
$recipients = array("hogehoge@hogehoge.net","hoge_bcc@hogehoge.net");
$html = "メールの本文";
$mime = new Mail_mime();
$mime->addHTMLImage(添付する画像の場所, 画像タイプ);
$mime->setHTMLBody($html);
$body = $mime->get($html_param);
$header = $mime->headers($header);
$mail = Mail::factory("smtp", array('host' => 'localhost'));
if($mail->send($recipients, $header, $body)){
 $this->log('メール送信成功しました');
}else{
 $this->log('メール送信失敗しました');
}

【ポイントその1】 画像を添付する場合、mb_send_mailが使えない(無理やり使う方法はあるけど)。
そのため、PEARのMailパッケージを使用。 画像タイプには、"image/jpeg"や"image/gif"等、送信する画像に見合ったものを指定。

【ポイントその2】 件名が長いとThunderbirdで途中(32バイト以上)から文字化けする。
これはThunderbirdが厳密なため? そのため一旦Subject迄で一行とし、その後を一行とみなすように変更。
対症療法的なのであまり推奨はしない。。もっと何かいい方法があれば

【ポイントその3】 Bcc、もしくはCcを設定したい場合、 $headers['Bcc']とか$headers['Cc']だけではheaderに書かれるだけで、 実際にはメールは送信されない。
「$recipients」配列に入れることで正常に送信されることを確認。

xseraarcy at 22:00|PermalinkComments(0)TrackBack(0) 技術的&べんり帳 

January 28, 2013

facebookのlikeボックスがflashファイルに重なる

facebookのlikeボックスで「いいね!」を押したときにコメント入力する吹き出しが表示されるのだが、 これがflashのファイルと重なった部分が裏側に回ってしまい、投稿ボタンが押せないと言う事象。 以下でOKそう。

<div id="image_swf"></div>
<script type="text/javascript" src="/js/swfobject.js" ></script>
<script type="text/javascript">
<!--
var flashvars = {};
var params = {
wmode:'transparent';
};
var attributes = {};
swfobject.embedSWF("/swf/hogehoge.swf?", "image_swf", "400", "300", "9.0.0","expressInstall.swf", flashvars, params, attributes);
//-->
</script>

この辺参考にしました。
http://lala-rockets.com/blog/2008/09/flashlightboxswf.html
http://www.hakkaku.net/articles/20080917-269

SWFObjectを使っていない場合は一つ目のリンクの方法のみでOK。


xseraarcy at 22:00|PermalinkComments(0)TrackBack(0) 技術的&べんり帳 

January 21, 2013

[CakePHP]リダイレクトできない(画面真っ白)

CakePHPの開発のお話。 何やら基礎的なところではまった経験。

先日、突然一部の画面が真っ白で表示される現象が起こった。
どうも調査してみると、redirect(~~)のところでコケている模様。

リダイレクトが効かない??
と思い、リダイレクト先のurlを直接たたいてみると、正常に表示される。

う~むと、いろいろ調べてみると以下のような記事を発見。

PHPでリダイレクトしたら画面が真っ白
http://www.artsnet.jp/archives/103

もしやと思いbootstrapを見ると、
最終行の「?>」の後に空白が一文字。。。

削除したら無事動きました。。
何かの拍子に入れてしまったのかもしれません。。


xseraarcy at 22:00|PermalinkComments(1) 技術的&べんり帳