技術的&べんり帳
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」配列に入れることで正常に送信されることを確認。
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」配列に入れることで正常に送信されることを確認。
January 28, 2013
facebookのlikeボックスがflashファイルに重なる
facebookのlikeボックスで「いいね!」を押したときにコメント入力する吹き出しが表示されるのだが、
これがflashのファイルと重なった部分が裏側に回ってしまい、投稿ボタンが押せないと言う事象。
以下でOKそう。
<div id="image_swf"></div>
この辺参考にしました。
http://lala-rockets.com/blog/2008/09/flashlightboxswf.html
http://www.hakkaku.net/articles/20080917-269
SWFObjectを使っていない場合は一つ目のリンクの方法のみで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。
January 21, 2013
[CakePHP]リダイレクトできない(画面真っ白)
CakePHPの開発のお話。
何やら基礎的なところではまった経験。
先日、突然一部の画面が真っ白で表示される現象が起こった。
先日、突然一部の画面が真っ白で表示される現象が起こった。
どうも調査してみると、redirect(~~)のところでコケている模様。
リダイレクトが効かない??
と思い、リダイレクト先のurlを直接たたいてみると、正常に表示される。
う~むと、いろいろ調べてみると以下のような記事を発見。
もしやと思いbootstrapを見ると、
最終行の「?>」の後に空白が一文字。。。
削除したら無事動きました。。
何かの拍子に入れてしまったのかもしれません。。
xseraarcy at 22:00|Permalink│Comments(1)│
January 14, 2013
IE でlistを使ったら1.1.1.になった
ちょっとした備忘録。
サイト制作上で、olとliのリスト表示を含むhtmlファイルを素材としてもらった。
それをFirefoxやChromeで確認したらOkだったけれど、
IEで確認したら、「1.」ばかりのリストになってしまった為修正を入れた、というお話。
どうも、liにいれてる「zoom」が悪さをしているらしい。
こちらを参考に修正しました。
IE、Chrome、Firefoxで改めて確認してみることに。
こんな感じでテストページを作成して確認。
<style type="text/css">
ol {
margin-left:10px;
list-style-type:decimal;
}
li{
zoom:1;
}
</style>
りんご生産量ランキング
<ol style="list-style-position: outside">
<li>青森</li>
<li>長野</li>
<li>岩手</li>
<li>山形</li>
</ol>
左から IE 7.0、Chrome 12.0、FireFox 3.6
そうね、順番なんてつけずみんな一緒!
…というわけにはいかない。
ランキングの意味がなくなっちゃうしね。
で、先ほどのソース内CSSに、以下を追加
li{
zoom:1;
display:list-item; ←コレ追加
}
結果。
これでOK(なのか?)。
zoomをつけた場合に上記起こるらしいのだが、
きちんと各種ブラウザで確認しなきゃね、というお話。
January 07, 2013
[Mac]Windowsキーボードを使う際のメモ
VMWareFusionでWindowsを使いたかったので、
Windowsのキーボードをそのまま流用してMacで使っている。
キーの表記、種類が異なるので、そのあたりのメモ。
以下、キー対応。(Mac → Windows)
Command → Windows
option → Alt
return → Enter
delete → BackSpace
delはWindowsだとカーソルの右側を消すキーなので、ちょっと紛らわしい。
その他キーは、
F12キー長押しでCD/DVDのイジェクト
「半角/全角」「カタカナ/ひらがな」キーは使えないので、「Windows」+「スペース」で切替。
その他はだいたいそのまま使える。