• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:bccメール送信について)

bccメール送信について

このQ&Aのポイント
  • bccメール送信についての不具合が発生しており、修正方法を探しています。
  • フリーのCGIを使用しているため、作者に連絡が取れず困っています。
  • 送信されない場合があり、再現性が低いため解決策が見つかりません。

質問者が選んだベストアンサー

  • ベストアンサー
  • MOMON12345
  • ベストアンサー率32% (1125/3490)
回答No.1

何が起きているのかを調べるのが先決でしょうね。 メールが送られない場合はエラーが戻ると思うのですが、そのエラーをどこに戻すようにしているか。 それを管理可能なメールアドレスに戻るように設定して、どんなエラーになっているかを確認してみてください。 メールログが閲覧可能ならばそれをチェックですね。

komachixxx
質問者

お礼

ご回答ありがとうございます。 エラーメールは届いていないので サーバのログを見てみましたら Invalid URI in request POSTを発見しましたが 時間が30分ほど後でしたのであまり関係がないように思います。 エラーなどがまったく起きず、Toには送れるのに Bccには送れないといった現象が起こることもありますでしょうか? 毎回起こるわけではない(ほとんどの場合はおきない)ので バグなのか何なのかもわからない状態です。 お手数をお掛けします。

その他の回答 (4)

回答No.5

>&error('システム異常','\申し訳ありませんが何らかの原因で処理できません.'); >「\申し訳ありませんが・・・」の \ は不要です。これですと \ そのものが表示されます。 多分このスクリプトは Shift_JIS で書かれているのでは? まぁそうだとしてもエスケープする位置が間違っているのですが。 &error('システム異常','申\し訳ありませんが何らかの原因で処理できません.'); おそらくこうしたかったのでは?

  • okmotokun
  • ベストアンサー率59% (92/155)
回答No.4

コードそのものにはBCCに関しては特に問題は無いようですね。 print OUT "Bcc: $ad_email\n"; は無しにして print OUT "To: $email,$ad_email\n"; としてみるとか。 または、メール送信部分をコピーして、To: に $ad_email を入れて別々に送信するようにしてみるとか。テストしてみてはいかがですか。 ところで、BCCとは関係ないですが、気になったところです。 &error('システム異常','\申し訳ありませんが何らかの原因で処理できません.'); 「\申し訳ありませんが・・・」の \ は不要です。これですと \ そのものが表示されます。 print OUT "Return-Path: $ret_path_mail\n"; これでは Return-Path: はセットできません。 -fスイッチを使います。 &jis("Subject: $FORM{'subject'}"); print OUT &jis("Subject: $FORM{'subject'}"); としないと、それと charset="ISO-2022-JP" なら MIMEエンコードはされていますか。ならば、 MIME-Version: 1.0 ヘッダが必要です。 print OUT "$msg\n"; ヘッダの出力完了前に $msg(本文)を出してはだめです。(typoですか?)

komachixxx
質問者

お礼

いろいろいけないところがあったのですね。 そういうところを全て直せば解決するかもしれませんね。 フリーのものを少しいじっただけのようでして 古くから使っているそうなので きちんと見直す時期に来ているのかもしれません。 とりあえずmaillogが見れるまで上記修正して様子を見てみます。 ありがとうございました。

  • MOMON12345
  • ベストアンサー率32% (1125/3490)
回答No.3

#1です。 maillogにエラーがないとすると、先方までは届いていると言うことになります。 宛先アドレスでログをサーチすれば送信成功のログが出てくるでしょう。 こうなると、今度は受信側の問題が考えられます。 送るメールの内容などによってspam判定されてしまうとか、或いは送り側のspf設定がうまく行っていないとか、可能性は低いと思いますがブラックリストに載っているとか。 送り先のメールサーバのログが見られればいいのですが。

komachixxx
質問者

補足

見ていたログはサーバのエラーログで maillogではなかったのでもう一度見直して見ます。 といってもおそらくレンタルサーバなので 見れるかどうかも心配なのですが・・・

  • okmotokun
  • ベストアンサー率59% (92/155)
回答No.2

sendmail にメールヘッダを書き出している部分を示していただくと的確な回答ができるかもしれません。

komachixxx
質問者

補足

ヘッダの部分は下記のようなソースで書き出してまして Toで届いているメールを見てみますと Fromに入っているアドレスが正しく表示されていますので Bccにも正しく設定できているように思うのですが・・・ こんな断片的なソースで大丈夫でしょうか? if (!(open(OUT,"| $sendmail -t"))) { &error('システム異常','\申し訳ありませんが何らかの原因で処理できません.'); } $ad_email =~ s/\:/\,/g; print OUT "Errors-To: $err_path_mail\n"; print OUT "Return-Path: $ret_path_mail\n"; print OUT "To: $email\n"; print OUT "Bcc: $ad_email\n"; print OUT "From: $ad_email\n"; &jis("Subject: $FORM{'subject'}"); print OUT "$msg\n"; print OUT "Content-Transfer-Encoding: 7bit\n"; print OUT "Content-Type: text/plain\; charset=\"ISO-2022-JP\"\n\n";

関連するQ&A