アプリ版:「スタンプのみでお礼する」機能のリリースについて

CGIとsendmailを使ってメールを送りたいのですが、text形式のメールを送るのではなく、いろいろと問題はあると思いますがhtml形式のメールで送りたい場合、どのようにすればよいのでしょうか。たとえば、html形式でテーブルを使いたい場合などです。よろしくお願いいたします。

A 回答 (4件)

htmlメールは、htmlファイルが添付されているメールだと思います。


参考URLに添付メールを送信するフォームがあります。

もしフォーム入力された内容をhtmlに反映させたい場合は、
指定のhtmlの属性を666にして、cgiからhtmlを書かせて
それを添付させるようにすればいいかと思います。

もっと簡単な方法もありそうですが、私にはこんなやり方しか
思いつきませんでした。

参考URL:http://www.rescue.ne.jp/cgi/form2mail/
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2003/06/23 21:44

CGIプログラム中の送信する為のメール文書を生成するところに、


Content-type: text/plain; charset="ISO-2022-JP"
といった表記が有るかと思いますが、そこのところ
Content-type: text/html; charset="ISO-2022-JP"
に変更すればできますよ。
    • good
    • 0

先日、回答させて頂きましたが、その後、うまくいきましたか?念のため、補足しておきますね。


私がTABLEを使用した時に、変更した個所をそのままお書きしましょう。

sub sendmail {

if (!open(OUT,"| $sendmail $mailto")) { &send_error; }

print OUT "To: $mailto\n";
print OUT "From: $email\n";
print OUT "Subject: $subject\n";
print OUT "Content-Transfer-Encoding: 7bit\n";
print OUT "Content-Type: text/html; charset=\'ISO-2022-JP\'\n";
print OUT "\n\n";

if ($host eq $addr) { $host = gethostbyaddr(pack('C4',split(/\./,$host)),2) || $addr; }

print OUT "<HTML><HEAD></HEAD>\n";
print OUT "<body>\n";

print OUT "<CENTER><TABLE><TBODY>\n";

print OUT "<TR><TD colspan='2 align='center'><P><B><FONT size='3'>体験入学申し込み</FONT></B></P></TD></TR>\n";

foreach (0..$count-1) {print OUT "<TR><TD><FONT size='2'>$DATA_N[($_)]</FONT></TD><TD><FONT size='2'>$DATA_V[($_)]</FONT></TD></TR>\n"; }

print OUT "</TBODY></TABLE></CENTER>\n";

print OUT "</body></html>\n";
exit;

という感じです。頑張って挑戦してみてくださいね。
    • good
    • 0

あ、そうだ。

再度、補足です。これはラジオボタンを使用してフォームのデータをHTML形式で送った時のものです。$DATA_N[($_)]はnameの値で、$DATA_V[($_)]はvalueの値です。muxicさんがやりたいことが分からないので、取り合えず、ラジオボタンでデータを送信する場合のサンプルを送ってみました。
    • good
    • 0
この回答へのお礼

できました。ありがとうございました。助かりました。

お礼日時:2003/06/23 21:45

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