プロが教えるわが家の防犯対策術!

LINUX7.0でPHP4を使っているんですが、プログラムからHTMLメールを送れません。何かいい方法はありませんでしょうか?
mail()関数でも/usr/sbin/sendmailからでもいいのですが、ヘッダ部分がうまく付けることができていないようです。どなたか教えてください。よろしくお願いします。

A 回答 (2件)

なるほど。

Multipart だったんですね。
私はまた、mail 関数の使い方がわからないのかと、勘違いしました。
申し訳ありません。

で、回答ですが、私は IT Boost 様のスクリプトを使用させていただいております。

PHP -> メールの項にサンプルがあります。
php の mail でもできますが、車輪の再発明もどうかな?と思いましたので、使用させていただいております。

が、マルチバイト文字列関数が使用できることが前提となっているようですので、現時点のバージョンでは難しいかなと。もちろん、jstring などのモジュールをコンパイルされているのであれば、その限りではないかと思います。

また、php4.0.6 を使用していますが、特に不都合など無く、アップデートしてみてはいかがでしょうか。
# というより、あげたほうがいいと思います。
# 便利ですよ。:-)

参考URL:http://www.itboost.co.jp/
    • good
    • 0
この回答へのお礼

ありがとうございます。
教えていただいたサイトも見てみましたが、かなり勉強になりました。
とりあえずバージョンアップしてみることにします。
どうもありがとうございました。

お礼日時:2001/10/24 18:21

ヘッダ部分というのはどういったものでしょうか?


Return-Path? それとも Content-type でしょうか?

mail 関数でも、第三引数を指定すれば追加ヘッダを指定できるはずです。

また、php 4.0.6 以上で、適切にコンパイルされているのであれば、mb_send_mail という関数が使用できるはずです。
この関数であれば、エンコードまでしてくれると思います。

この回答への補足

i18nコンバートっていうのができなかったんで第三引数で
"From: xxxx@xxxxxxxxx\nContent-Type: multipart/alternative; boundary=\"THIS_LINE_IS_BOUNDARY\"
とContent-typeを指定した上で、本文部分では
$body = <<<EOF
--THIS_LINE_IS_BOUNDARY
Content-Type: text/plain; charset="iso-2022-jp"
Content-Transfer-Encoding: 7bit

$honbun(HTML本文)

--THIS_LINE_IS_BOUNDARY
Content-Type: text/html; charset="iso-2022-jp"
Content-Transfer-Encoding: quoted-printable

$honbun
EOF;
と指定しました。かなり適当なつくりになっちゃいましたが、こんなんでいいんでしょうか。
本文中にはスタイルシートとテーブルとかが入ってるんですが、スタイルシートで指定したテーブルのスタイルが反映されませんでした。
なんかもっとスマートなやり方があると思うんですけど・・・。
php4.01なんでmb_send_mailってのも使えないみたいです。
php4.06に替えることを考えたほうがいいですかねぇ

補足日時:2001/10/24 10:11
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!