[PHP-users 30220] Re: mail送信で教えてください
KKuji_Y2a
kkuji @ mwb.biglobe.ne.jp
2006年 9月 2日 (土) 14:36:38 JST
KK@IBです。
再度のご指導に関するご報告です。
> 自分でソケットの処理を書きたくないと言うだけなら
こういうせりふを誰が言うのか良く分かりませんが、
pearにはpearの手間があるかと思います。
installされていないとか...
HTMLメールは、
http://www2.stack.ru/~julia/PHP4/function.mail.html
を参考にして、動作確認しました。
これは、pearは必要ない形です。
添付ファイルのあるメールは、
http://www.yumemaboroshi.net/detail3773/
を参考にしました。
これも、pearは必要ない形です。
PEAR::Net_SMTP は、pearのsampleを使いました。
http://www.indelible.org/pear/Net_SMTP/guide.php#examples
あて先複数の単純なメール送信ですが、動作確認。(当然!?)
これにHTML送信とか、添付ファイルとか、機能を付けると
また、多少あるでしょうが、boundaryを使うのが面倒でなければ、
要領は同じでしょう。
(使わなければ? 多分、Mail_Mime を使うということでしょう。 そういう点では、Mail_Mimeは便利かもしれませんね。
でも、sendmail をきちんと使えるようになったほうが、よいのかも。
http://www.sendmail.org/jp/ 個人的には、ちょっと億劫な気分もありますが。
なお、ご指摘の、http://wiki.poyo.jp/read/PHP/tips/mail/function_mail にある、sendmail の使い方は、大変参考になりました。
「mail()がそもそも実行できるか? †
PHP CGI SAPIやPHP CLI SAPIで下記のようにコマンドを実行すれば,mail()が内部で作成しているメッセージテキストを標準出力に出力することができます.」
の部分は、難しかったですが。これは、SSHやtelnetで、ログインし、コマンドプロンプト状態で、
echo '<?php mail( "foo @ example.com", "test", "body", "From:
bar @ example.com"); ?>' | php -d sendmail_path="cat -"
と打てばよいということですね。)
PEAR::Mail と Mail_Mimeも使って、やってみました。
これは、山田祥寛「PEAR入門」(翔泳社)についている
ソースを流用し、テストしました。
smtpサーバーは、最近は、認証が要るものが増えているので、localhostを使いました。
また、mimeは、テストしたサーバーにはインストールされていなくて、また、インストール権限も無かったので、
パッケージをダウンロードし、プログラムのある場所にftpで送り込み、
インクルードPathを調整して、使いました。
(ここが、専有でないレンタルサーバー上で仕事をするときの、pear利用の不便なところです。)
とりあえず、動作、OKでした。一度環境ができてしまえば
あとはいろいろ使えます。
なお、日本語のタイトルの文字化けに結構悩んでいましたが、
mb_internal_encoding("EUC-JP");
$subject2 = mb_encode_mimeheader($subject, "ISO-2022-JP", "B");
で、今はうまく行っています。
以上、ご報告まで。
> 上鍵です.こんにちは.
> 自分でソケットの処理を書きたくないと言うだけなら PEAR::Mail
> や PEAR::Net_SMTP で簡単に上物だけの実装でメール送信の処理が実
> 装できますよ.
PHP-users メーリングリストの案内