2012年12月18日火曜日
2012年12月10日月曜日
[PEAR::Mail] Mail headerについて
普段湯水のように送っているメールでも
実際自分でライブラリーの恩恵に預かりながらとはいえ使う側から作る側になって
初めて気づく事もあるというのが今回の教訓
Mail のheaderについてです。
先の投稿 の続報という形になっています。
24 $header = array(
25 "To" => "to-address@gmail.com",
26 "From" => "from-address@gmail.com",
27 "Subject" => mb_encode_mimeheader("テストメール")
28 );
25行目を下記の様にすると
25 "To" => mb_encode_mimeheader("上様") . "<ue@email.ne.jp>",
thuderbirdでは、下記のようにメールアドレスと名前の部分がスムーズに登録されます。
実際自分でライブラリーの恩恵に預かりながらとはいえ使う側から作る側になって
初めて気づく事もあるというのが今回の教訓
Mail のheaderについてです。
先の投稿 の続報という形になっています。
24 $header = array(
25 "To" => "to-address@gmail.com",
26 "From" => "from-address@gmail.com",
27 "Subject" => mb_encode_mimeheader("テストメール")
28 );
25行目を下記の様にすると
25 "To" => mb_encode_mimeheader("上様") . "<ue@email.ne.jp>",
thuderbirdでは、下記のようにメールアドレスと名前の部分がスムーズに登録されます。
また、Ccも指定できますというか知らなかっただけ。知らなすぎますねw
24 $header = array(
25 "To" => "to-address@gmail.com",
25 "To" => "to-address@gmail.com",
26 "Cc" => "cc@gmail.com"
27 "From" => "from-address@gmail.com",
28 "Subject" => mb_encode_mimeheader("テストメール")
29 );
27 "From" => "from-address@gmail.com",
28 "Subject" => mb_encode_mimeheader("テストメール")
29 );
ラベル:
header,
PEAR::Mail,
PHP
[php] smtp over ssl
smtp-auth over ssl なsmtpサーバーからメールを送る。
PHP -> 5.4.6
[1] pear-Mail のインストール
cd /usr/ports/mail/pear-Mail
make config-recursive
PEAR_NET_SMTPを有効にする
make
make install
[2] コーディング
1 <?php
2 require_once("Mail.php");
3
4 // require for includeing japanese mail
5 mb_language("Japanese");
6 mb_internal_encoding("UTF-8");
7
8 // settting of smtp servser
9 $params = array(
10 "host" => "ssl://smtp-server-address",
11 "port" => 465,
12 "auth" => true,
13 "username" => "account",
14 "password" => "possword"
15 );
16
17 // make instance of PEAR::Mail
18 $mailObject = Mail::factory("smtp", $params);
19
20 // address of recipients
21 $recipients = "to-address@gmail.com";
22
23 // mail header
24 $header = array(
25 "To" => "to-address@gmail.com",
26 "From" => "from-address@gmail.com",
27 "Subject" => mb_encode_mimeheader("テストメール")
28 );
29
30 // body of mail
31 $body = "これは、テストメールです。";
32
33 // encoding
34 $body = mb_convert_encoding($body, "ISO-2022-JP", "UTF-8");
35
36 // sending
37 print("Sending....<br>");
38 $ret =$mailObject->send($recipients, $header, $body);
39 if(PEAR::isError($ret)){
40 print($ret->getMessage());
41 }
42
43 ?>
[3] PHP E_STRICT について
以下のようなエラーが出る場合
Strict Standards: Non-static method Mail::factory() should not be called statically in/usr/local/www/apache22/data/pearmail/index.php on line 18
Strict Standards: Non-static method PEAR::isError() should not be called statically, assuming $this from incompatible context in /usr/local/share/pear/Mail/smtp.php on line 365
Strict Standards: Non-static method PEAR::isError() should not be called statically, assuming $this from incompatible context in /usr/local/share/pear/Net/SMTP.php on line 450
これらのエラーは、Fartalなエラーではないため
/usr/local/etc/php.ini のerror_reportingを以下のようにして
error_reporting = E_ALL & ~E_STRICT
E_ALL からE_STRICTを除く設定にする。
PHP -> 5.4.6
[1] pear-Mail のインストール
cd /usr/ports/mail/pear-Mail
make config-recursive
PEAR_NET_SMTPを有効にする
make
make install
[2] コーディング
1 <?php
2 require_once("Mail.php");
3
4 // require for includeing japanese mail
5 mb_language("Japanese");
6 mb_internal_encoding("UTF-8");
7
8 // settting of smtp servser
9 $params = array(
10 "host" => "ssl://smtp-server-address",
11 "port" => 465,
12 "auth" => true,
13 "username" => "account",
14 "password" => "possword"
15 );
16
17 // make instance of PEAR::Mail
18 $mailObject = Mail::factory("smtp", $params);
19
20 // address of recipients
21 $recipients = "to-address@gmail.com";
22
23 // mail header
24 $header = array(
25 "To" => "to-address@gmail.com",
26 "From" => "from-address@gmail.com",
27 "Subject" => mb_encode_mimeheader("テストメール")
28 );
29
30 // body of mail
31 $body = "これは、テストメールです。";
32
33 // encoding
34 $body = mb_convert_encoding($body, "ISO-2022-JP", "UTF-8");
35
36 // sending
37 print("Sending....<br>");
38 $ret =$mailObject->send($recipients, $header, $body);
39 if(PEAR::isError($ret)){
40 print($ret->getMessage());
41 }
42
43 ?>
[3] PHP E_STRICT について
以下のようなエラーが出る場合
Strict Standards: Non-static method Mail::factory() should not be called statically in/usr/local/www/apache22/data/pearmail/index.php on line 18
Strict Standards: Non-static method PEAR::isError() should not be called statically, assuming $this from incompatible context in /usr/local/share/pear/Mail/smtp.php on line 365
Strict Standards: Non-static method PEAR::isError() should not be called statically, assuming $this from incompatible context in /usr/local/share/pear/Net/SMTP.php on line 450
これらのエラーは、Fartalなエラーではないため
/usr/local/etc/php.ini のerror_reportingを以下のようにして
error_reporting = E_ALL & ~E_STRICT
E_ALL からE_STRICTを除く設定にする。
2012年12月8日土曜日
[Cake PHP] 404 Not Found
既出の記事がたくさんがあるが自分用のメモ
Cake PHP( ver. 2.2.2 ) で404 Not Found が出る場合の対処法
[0] apache の mod_rewrite が有効になっているか確認
httpd.confで以下の用になっていればOK
LoadModule rewrite_module libexec/apache22/mod_rewrite.so
[1] .htaccess にmod_rewriteに関する設定をする
以下の例は、[document-root]/cakeblog/にCake PHPを配置している場合
まずは、[document-root]/cakeblog/.htaccess
1 <IfModule mod_rewrite.c>
2 RewriteEngine on
3 RewriteBase /cakeblog/
4 RewriteRule ^$ app/webroot/ [L]
5 RewriteRule (.*) app/webroot/$1 [L]
6 </IfModule>
次は、[document-root]/cakeblog/app/.htaccess
1 <IfModule mod_rewrite.c>
2 RewriteEngine on
3 RewriteBase /cakeblog/app/
4 RewriteRule ^$ webroot/ [L]
5 RewriteRule (.*) webroot/$1 [L]
6 </IfModule>
最後に[document-root]/cakeblog/app/webroot/.htaccess
1 <IfModule mod_rewrite.c>
2 RewriteEngine On
3 RewriteBase /cakeblog/app/webroot/
4 RewriteCond %{REQUEST_FILENAME} !-d
5 RewriteCond %{REQUEST_FILENAME} !-f
6 RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
7 </IfModule>
[2] apacheの設定
cakeblog専用の設定ファイルを/usr/local/etc/apache22/Includes/に「cakeblog.conf」として作成して、以下を記す。
1 <Directory "/usr/local/www/apache22/data/cakeblog">
2 AllowOverride All
3 Order allow,deny
4 Allow from all
5 </Directory>
そして、apacheを再起動して終了
Cake PHP( ver. 2.2.2 ) で404 Not Found が出る場合の対処法
[0] apache の mod_rewrite が有効になっているか確認
httpd.confで以下の用になっていればOK
LoadModule rewrite_module libexec/apache22/mod_rewrite.so
[1] .htaccess にmod_rewriteに関する設定をする
以下の例は、[document-root]/cakeblog/にCake PHPを配置している場合
まずは、[document-root]/cakeblog/.htaccess
1 <IfModule mod_rewrite.c>
2 RewriteEngine on
3 RewriteBase /cakeblog/
4 RewriteRule ^$ app/webroot/ [L]
5 RewriteRule (.*) app/webroot/$1 [L]
6 </IfModule>
次は、[document-root]/cakeblog/app/.htaccess
1 <IfModule mod_rewrite.c>
2 RewriteEngine on
3 RewriteBase /cakeblog/app/
4 RewriteRule ^$ webroot/ [L]
5 RewriteRule (.*) webroot/$1 [L]
6 </IfModule>
最後に[document-root]/cakeblog/app/webroot/.htaccess
1 <IfModule mod_rewrite.c>
2 RewriteEngine On
3 RewriteBase /cakeblog/app/webroot/
4 RewriteCond %{REQUEST_FILENAME} !-d
5 RewriteCond %{REQUEST_FILENAME} !-f
6 RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
7 </IfModule>
[2] apacheの設定
cakeblog専用の設定ファイルを/usr/local/etc/apache22/Includes/に「cakeblog.conf」として作成して、以下を記す。
1 <Directory "/usr/local/www/apache22/data/cakeblog">
2 AllowOverride All
3 Order allow,deny
4 Allow from all
5 </Directory>
そして、apacheを再起動して終了
2012年12月5日水曜日
[vim] 256色で表示するようにする
例えばGnome terminalは、256色の表示に対応しているがデフォでは、vimは、16色でしか表示してくれない。
vimも256色で表示するは、~/.vimrcのcolorchemeの設定の前に以下を追加
set t_Co=256
reference http://vim-users.jp/2009/08/hack64/
vimも256色で表示するは、~/.vimrcのcolorchemeの設定の前に以下を追加
set t_Co=256
reference http://vim-users.jp/2009/08/hack64/
2012年12月4日火曜日
[freeBSD] postfix install
cd /usr/ports/mail/postfix
make config-recursive
make
make install
[2] sendmailの無効化
man rc.sendmailを参考に
/etc/rc.confに以下を追加
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
[3] 専用ユーザーの追加
adduserでpostfix専用ユーザーを作成する。
ログインしないユーザーでホームディレクトリは、無し
[4]
エリアスのセット
/etc/aliasesに以下を追加
postfix: root
送信バッファーディレクトリpostdrop用グループの追加
pw groupadd postdrop
ホスト名等の設定(/etc/postfix/main.cf)で
myhostname = my_host_name
mydestination = $myhostname,localhost
とした。
次に起動時にpostfixを走らせるための設定
/etc/rc.conf に以下を追加
postfix_enable="YES"
そして、postfixの起動
/etc/rc.d/postfix onestart
telnetでsmtp接続してみる
telnet localhost 25
本稿はここまで
2012年12月1日土曜日
[Mac] GNU Global + vim
GNU Global と vim の組み合わせで快適ソースコードリーディング環境を構築してみる。
まず、GNU Globalのインストール
sudo port global
vimのプラグインのコピー
cp /opt/local/share/gtags/gtags.vim ~/.vim/plugin/
コピー先のホームディレクトリのvim pluginディレクトリが無い場合は、予め作成しておく。
そして、インデックス出力のために読みたいソースファイルがあるディレクトリにてGtags -v を実行。
そして、読みたいソースを開く。ソース内の関数一覧を表示するには、
:Gtags -f %
カーソルの位置の関数の定義に飛ぶには、
:GtagsCursor
本稿は、この辺まで。。。
参考サイト: http://www.machu.jp/diary/20090308.html#p01
まず、GNU Globalのインストール
sudo port global
vimのプラグインのコピー
cp /opt/local/share/gtags/gtags.vim ~/.vim/plugin/
コピー先のホームディレクトリのvim pluginディレクトリが無い場合は、予め作成しておく。
そして、インデックス出力のために読みたいソースファイルがあるディレクトリにてGtags -v を実行。
そして、読みたいソースを開く。ソース内の関数一覧を表示するには、
:Gtags -f %
カーソルの位置の関数の定義に飛ぶには、
:GtagsCursor
本稿は、この辺まで。。。
参考サイト: http://www.machu.jp/diary/20090308.html#p01
登録:
投稿 (Atom)