KENT-WEB サポートコーナー 過去ログ [ 0067 ]


記事No: 4691
投稿日: 2008/10/14(Tue) 07:19:05
タイトルShoppingCartで確認メールを複数に送信
ID情報: wata1013
投稿者: なると銀時
URLhttp://www.nmt.ne.jp/

はじめまして。いつもCGIの勉強で閲覧させていただいてます。

”ShoppingCart”CGIを今後利用したいと考えてます。
そこで、確認メールを複数に送信しようと考えています。

過去ログをいろいろ拝見させていただいたのですが、
『sendmail wrapper』でCc、Bccが利用できず、Toも最初の1つしかメール受取できないのですが、
何か良い方法はあるのでしょうか?

また、

foreach $mailto('mail@test.co.jp','mail2@test.co.jp'複数人のメールアドレス){
open(MAIL,"|$sendmail $mailto");
print MAIL $message;
close(MAIL);
}

という案があったので、参考にさせていただいたのですが、
件名なし、送信者のアドレスがデタラメ(文字化け)状態で届いてしまいました。

アドバイスよろしくお願いいたします。


記事No: 4692
投稿日: 2008/10/14(Tue) 09:26:05
タイトルRe: ShoppingCartで確認メールを複数に送信
ID情報: wata1013
投稿者: なると銀時
URLhttp://www.nmt.ne.jp/

ごめんなさい!URLなんですが、
まだ取得してないので、今後利用予定のNMTさんのURLを入力しています。


記事No: 4698
投稿日: 2008/10/14(Tue) 21:15:02
タイトルRe: ShoppingCartで確認メールを複数に送信
ID情報: pachira
投稿者: pachira
URLhttp://www5e.biglobe.ne.jp/~pachira/

> はじめまして。いつもCGIの勉強で閲覧させていただいてます。
>
> ”ShoppingCart”CGIを今後利用したいと考えてます。
> そこで、確認メールを複数に送信しようと考えています。
>
> 過去ログをいろいろ拝見させていただいたのですが、
> 『sendmail wrapper』でCc、Bccが利用できず、Toも最初の1つしかメール受取できないのですが、
> 何か良い方法はあるのでしょうか?
>
> また、
>
> foreach $mailto('mail@test.co.jp','mail2@test.co.jp'複数人のメールアドレス){
> open(MAIL,"|$sendmail $mailto");
> print MAIL $message;
> close(MAIL);
> }
>
> という案があったので、参考にさせていただいたのですが、
> 件名なし、送信者のアドレスがデタラメ(文字化け)状態で届いてしまいました。
>
> アドバイスよろしくお願いいたします。

http://www.nmt.ne.jp/hosting/function.html
-----
※ sendmailはsendmail wrapper となるため本来のsendmail とは若干異なる動作をする可能性がございます。(sendmail用のプログラムが動作することを保証するものではありません。<例:cc、bccでの送信不可。>)
-----

この↑部分ですよね?
これが、本当であれば複数以前に、sendmailを利用しての運用は無理だと思うのですが…
実際に、デフォルトのままでCcが届かないですか?

■order.cgi/line900
# sendmail起動
open(MAIL,"| $sendmail -t -i") || &error("送信失敗: $!");
print MAIL "To: $mailto\n";
print MAIL "From: $in{'email'}\n";
print MAIL "Cc: $in{'email'}\n";


記事No: 4703
投稿日: 2008/10/15(Wed) 17:20:02
タイトルRe^2: ShoppingCartで確認メールを複数に送信
ID情報: wata1013
投稿者: なると銀時
URLhttp://www.nmt.ne.jp/

こんにちは。ご返答いただきありがとうございます。
そうなのです。
デフォルトのままでCcが届かないのです。
Toには届くのですが。

NMTさんに問い合わせたのですが、
Toをアドレス毎に設定すれば大丈夫と返答いただいたのですが、
何度チャレンジしても上手くいきません。
しまいには1通だけ来てたメールも来なくなってしまいました。

私の記述がおかしいのでしょうか?

別ファイルで、

$master = 'aaa@aaa.ne.jp';
$master2 = 'bbb@bbb.ne.jp';
$master3 = 'ccc@ccc.co.jp';

と定義しています。

それを送信用のファイルで

To: $master
To: $master2
To: $master3
From: $in{'email'}
Cc: $in{'email'}

〜 本文 〜
# sendmail起動
open(MAIL,"| $sendmail -t") || &error("メール送信失敗");
foreach ( split(/\n/, $mbody) ) {
&jcode'convert(*_, 'jis', 'sjis');
print MAIL $_, "\n";
}
close(MAIL);

となっています。

よく初歩的なミスをするので、何かおかしい箇所があったらご指導くださいませ。


記事No: 4704
投稿日: 2008/10/15(Wed) 18:56:17
タイトルRe^3: ShoppingCartで確認メールを複数に送信
ID情報: pachira
投稿者: pachira
URLhttp://www5e.biglobe.ne.jp/~pachira/

> こんにちは。ご返答いただきありがとうございます。
> そうなのです。
> デフォルトのままでCcが届かないのです。
> Toには届くのですが。
>
> NMTさんに問い合わせたのですが、
> Toをアドレス毎に設定すれば大丈夫と返答いただいたのですが、
> 何度チャレンジしても上手くいきません。
> しまいには1通だけ来てたメールも来なくなってしまいました。
>
> 私の記述がおかしいのでしょうか?
>
> 別ファイルで、
>
> $master = 'aaa@aaa.ne.jp';
> $master2 = 'bbb@bbb.ne.jp';
> $master3 = 'ccc@ccc.co.jp';
>
> と定義しています。
>
> それを送信用のファイルで
>
> To: $master
> To: $master2
> To: $master3
> From: $in{'email'}
> Cc: $in{'email'}
>
> 〜 本文 〜
> # sendmail起動
> open(MAIL,"| $sendmail -t") || &error("メール送信失敗");
> foreach ( split(/\n/, $mbody) ) {
> &jcode'convert(*_, 'jis', 'sjis');
> print MAIL $_, "\n";
> }
> close(MAIL);
>
> となっています。
>
> よく初歩的なミスをするので、何かおかしい箇所があったらご指導くださいませ。

■init.cgi(半角スペース記述)
# 管理者メールアドレス
$mailto = 'xxx@xxx.xxx yyy@yyy.yyy zzz@zzz.zzz';

■order.cgi(デフォルト)
# sendmail起動
open(MAIL,"| $sendmail -t -i") || &error("送信失敗: $!");
print MAIL "To: $mailto\n";
print MAIL "From: $in{'email'}\n";
print MAIL "Cc: $in{'email'}\n";

これで、Toには届きませんか?
これが駄目なら、申し訳ありませんが私には分かりません。


記事No: 4706
投稿日: 2008/10/15(Wed) 21:10:17
タイトルRe^4: ShoppingCartで確認メールを複数に送信
ID情報: wata1013
投稿者: なると銀時
URLhttp://www.nmt.ne.jp/

回答有難うございます。
早速教えていただいた記述で実行してみたのですが、
やはり
$mailto = 'xxx@xxx.xxx yyy@yyy.yyy zzz@zzz.zzz';
の @xxx.xxx にしかメールが届きませんでした。


記事No: 4707
投稿日: 2008/10/15(Wed) 21:14:04
タイトルRe^5: ShoppingCartで確認メールを複数に送信
ID情報: wata1013
投稿者: なると銀時
URLhttp://www.nmt.ne.jp/

> 回答有難うございます。
> 早速教えていただいた記述で実行してみたのですが、
> やはり
> $mailto = 'xxx@xxx.xxx yyy@yyy.yyy zzz@zzz.zzz';
> の @xxx.xxx にしかメールが届きませんでした。
>
でも、届いたメールには
宛先も複数設定した通り表示されており、Ccも表示されています。

表示されているのに、メールは届いてないなんて事はあるのですか?


記事No: 4712
投稿日: 2008/10/16(Thu) 10:28:55
タイトルRe^6: ShoppingCartで確認メールを複数に送信
ID情報: pachira
投稿者: pachira
URLhttp://www5e.biglobe.ne.jp/~pachira/

苦肉の策ですが、1通ごとに送信するしか無さそうですね。
(sendmailに詳しくないので、不具合があれば速やかに戻して下さい。)
(いろんな意味で、サーバー変えた方が良いとも思いますけどね^^;)

■init.cgi
# 管理者メールアドレス
$mailto = 'xxx@xxx.xxx';
$maolto2 = 'yyy@yyy.yyy';

■order.cgi
# sendmail起動
open(MAIL,"| $sendmail -t -i") || &error("送信失敗: $!");
print MAIL "To: $mailto\n";
print MAIL "From: $in{'email'}\n";
print MAIL "Subject: $msub\n";
print MAIL "Date: $datm\n";
print MAIL "MIME-Version: 1.0\n";
print MAIL "Content-type: text/plain; charset=ISO-2022-JP\n";
print MAIL "Content-Transfer-Encoding: 7bit\n";
print MAIL "X-Mailer: $ver\n\n";
foreach ( split(/\n/, $mbody) ) {
&jcode'convert(*_, "jis", "sjis");
print MAIL $_, "\n";
}
print MAIL "\n---------------------------------------------------------------------\n";
print MAIL "Date : $date\n";
print MAIL "Host : $host\n";
print MAIL "Agent: $ENV{'HTTP_USER_AGENT'}\n";
print MAIL "---------------------------------------------------------------------\n";

# sendmail起動2
open(MAIL,"| $sendmail -t -i") || &error("送信失敗: $!");
print MAIL "To: $mailto2\n";
print MAIL "From: $in{'email'}\n";
print MAIL "Subject: $msub\n";
print MAIL "Date: $datm\n";
print MAIL "MIME-Version: 1.0\n";
print MAIL "Content-type: text/plain; charset=ISO-2022-JP\n";
print MAIL "Content-Transfer-Encoding: 7bit\n";
print MAIL "X-Mailer: $ver\n\n";
foreach ( split(/\n/, $mbody) ) {
&jcode'convert(*_, "jis", "sjis");
print MAIL $_, "\n";
}
print MAIL "\n---------------------------------------------------------------------\n";
print MAIL "Date : $date\n";
print MAIL "Host : $host\n";
print MAIL "Agent: $ENV{'HTTP_USER_AGENT'}\n";
print MAIL "---------------------------------------------------------------------\n";

# sendmail起動3
open(MAIL,"| $sendmail -t -i") || &error("送信失敗: $!");
print MAIL "To: $in{'email'}\n";
print MAIL "From: $mailto\n";
print MAIL "Subject: $msub\n";
print MAIL "Date: $datm\n";
print MAIL "MIME-Version: 1.0\n";
print MAIL "Content-type: text/plain; charset=ISO-2022-JP\n";
print MAIL "Content-Transfer-Encoding: 7bit\n";
print MAIL "X-Mailer: $ver\n\n";
foreach ( split(/\n/, $mbody) ) {
&jcode'convert(*_, "jis", "sjis");
print MAIL $_, "\n";
}
print MAIL "\n---------------------------------------------------------------------\n";
print MAIL "Date : $date\n";
print MAIL "Host : $host\n";
print MAIL "Agent: $ENV{'HTTP_USER_AGENT'}\n";
print MAIL "---------------------------------------------------------------------\n";

close(MAIL);
}

【?】
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1019874580
これ↑、あなたかな?
そうであれば、マルチポストですのであまり好ましくないですね。


記事No: 4713
投稿日: 2008/10/16(Thu) 15:06:42
タイトルRe^7: ShoppingCartで確認メールを複数に送信
ID情報: wata1013
投稿者: なると銀時
URLhttp://www.nmt.ne.jp/

回答ありがとうございます。

> 苦肉の策ですが、1通ごとに送信するしか無さそうですね。

はい。それでforeachでまわしてみました。
送信者(From人)に一度に3通メールが届いてしまうのですが、
これで複数に送信できました。

ありがとうございました。

> 【?】
> http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1019874580
> これ↑、あなたかな?
> そうであれば、マルチポストですのであまり好ましくないですね。
はい。私です。ご助言ありがとうございます。
本当ですね。何も考えずに...いけない事をしたと反省しています。
失礼しました。


記事No: 4714
投稿日: 2008/10/16(Thu) 17:52:00
タイトルRe^8: ShoppingCartで確認メールを複数に送信
ID情報: pachira
投稿者: pachira
URLhttp://www5e.biglobe.ne.jp/~pachira/

> 送信者(From人)に一度に3通メールが届いてしまうのですが、

ん?Ccの1行、消してあります?↓
print MAIL "Cc: $in{'email'}\n";

って言うか、Ccは届かない筈では?(謎)


記事No: 4727
投稿日: 2008/10/20(Mon) 20:17:18
タイトルRe^9: ShoppingCartで確認メールを複数に送信
ID情報: wata1013
投稿者: なると銀時
URLhttp://www.nmt.ne.jp/

ありがとうございました!解決しました。

> ん?Ccの1行、消してあります?↓
> print MAIL "Cc: $in{'email'}\n";
>
> って言うか、Ccは届かない筈では?(謎)
>
そうなんです。なんだか今まで届かなかったし利用不可のはずのCcがなぜか届いていたようです。
Ccの行を削除して、ようやく解決しました。

ありがとうございました。


[検索ページ]