記事No | : 10718 |
投稿日 | : 2012/07/08(Sun) 14:44:17 |
タイトル | : CaptchaMailでメールを複数の宛先に送りたい |
ID情報 | : dameyome |
投稿者 | : だめよめ |
URL | : http://www.dameyome.net/~test/captchamail/captmail.cgi |
No.10633 でCaptchaMail設置についてアドバイスを頂きました者です。
http://www.kent-web.com/support/bbs/?list=log&no=10633&pg=10
その節はいろいろとありがとうございました。
このお問い合わせメールフォームの送り先(管理宛)を複数にすることは可能なのでしょうか?
init.cgiの72行目の
# 送信先メールアドレス
$cf{mailto} = 'abc@***.ne.jp';
の'abc@***.ne.jp'部分を色々と試してみましたが上手くいきません。
以下に自分で試してみたものを列挙しておきます。
1)カンマ(,)で区切る
$cf{mailto} = '1つ目@***.**,2つ目@***.**';
結果→お問い合わせフォーム > 確認画面 の画面で『送信する>』ボタンを押すと、『サーバーの内部エラー』という画面になる。
送信したメールは管理宛には1つ目も2つ目も届きます。
ただし、送信者用のアドレス(お問い合わせフォームで入力したアドレス)には届きません。
2)スペースで区切る
$cf{mailto} = '1つ目@***.** 2つ目@***.**';
結果→お問い合わせフォーム > 確認画面 の画面で『送信する>』ボタンを押すと、『サーバーの内部エラー』という画面になる。
送信したメールは管理宛には1つ目のアドレスに
Retuened mail:see transcript for detailsという件名のメールが届きます。
2つ目のアドレスには送信者へ届くべき内容(件名:お問い合わせありがとうございます)のメールが届きます。
送信者用のアドレス(お問い合わせフォームで入力したアドレス)にもRetuened mail:see transcript for detailsという件名のメールが届きます。
3)アドレスをシングルクオート(')で囲み、カンマ(,)で区切る
$cf{mailto} = '1つ目@***.**',' 2つ目@***.**';
結果→お問い合わせフォーム > 送信完了 の画面になるので問題はなさそうですが、
送信したメールは管理宛には1つ目のアドレスのみに届きます。2つ目のアドレスには届きません。
送信者用のアドレスには「件名:お問い合わせありがとうございます」のメールが届くので問題ないと思います。
4)アドレスをシングルクオート(')で囲む。
$cf{mailto} = '1つ目@***.**'' 2つ目@***.**';
5)アドレスをシングルクオート(')で囲み、スペースで区切る
$cf{mailto} = '1つ目@***.**' ' 2つ目@***.**';
4と5は
http://www.dameyome.net/~test/captchamail/captmail.cgi
の画面の表示もできませんでした。
たびたびの質問で申し訳ないのですが、アドバイスを頂けないでしょうか?
記事No | : 10721 |
投稿日 | : 2012/07/09(Mon) 17:36:22 |
タイトル | : Re: CaptchaMailでメールを複数の宛先に送りたい |
ID情報 | : teketen |
投稿者 | : てけてん |
指定する場合は、1又は2の方法を取って下さい。
他は、指定方法が違います。
「Retuened mail:see transcript for details」のメール内容に、原因が書かれています。
参考
http://help.yahoo.co.jp/help/jp/mail/in_trouble/in_trouble-27.html
記事No | : 10722 |
投稿日 | : 2012/07/09(Mon) 20:18:15 |
タイトル | : Re^2: CaptchaMailでメールを複数の宛先に送りたい |
ID情報 | : dameyome |
投稿者 | : だめよめ |
URL | : http://www.dameyome.net/~test/captchamail/captmail.cgi |
てけてん様
アドバイスありがとうございます。
> 指定する場合は、1又は2の方法を取って下さい。
> 他は、指定方法が違います。
1又は2の方法で設置できるようにがんばってみます。
ですが、1又は2の方法はどちらもメールーフォームを送信すると
######################################################
『サーバーの内部エラー』
! サーバの内部でエラーまたは設定上の問題が発生したため、リクエストを処理できませんでした。このディレクトリへの CGI アクセスが有効にされているかどうか、サーバの管理者にご確認ください。
######################################################
という画面になってしまいます。
> 「Retuened mail:see transcript for details」のメール内容に、原因が書かれています。
> 参考
> http://help.yahoo.co.jp/help/jp/mail/in_trouble/in_trouble-27.html
教えていただいたリンク先にて確認してみましたが、申し訳ありません、結局よく理解できませんでした。
解決には至りませんでした。
「Returned mail: see transcript for details」という件名のメールは、よくよく確認してみましたところ、管理宛へ届くものと、送信者へ届くものとでは内容が異なっていました。
以下にその詳細を明記させていただきます。
ご確認いただけると幸いです。
######################################################
管理宛(1つ目)
The original message was received at Mon, 9 Jul 2012 19:37:23 +0900
from test@localhost
----- The following addresses had permanent fatal errors -----
-t
(reason: 553 5.3.0 <-t@www**.****.net>... No such user here)
(expanded from: -t)
-i
(reason: 553 5.3.0 <-i@www**.****.net>... No such user here)
(expanded from: -i)
----- Transcript of session follows -----
... while talking to [127.0.0.1]:
>>> DATA
<<< 553 5.3.0 <-i@www**.****.net>... No such user here
550 5.1.1 -i... User unknown
<<< 553 5.3.0 <-t@www**.****.net>... No such user here
550 5.1.1 -t... User unknown
Reporting-MTA: dns; www**.****.net
Arrival-Date: Mon, 9 Jul 2012 19:24:09 +0900
Final-Recipient: RFC822; -t@www**.****.net
Action: failed
Status: 5.3.0
Remote-MTA: DNS; [127.0.0.1]
Diagnostic-Code: SMTP; 553 5.3.0 <-t@www**.****.net>... No such user here
Last-Attempt-Date: Mon, 9 Jul 2012 19:24:09 +0900
Final-Recipient: RFC822; -i@www**.****.net
Action: failed
Status: 5.3.0
Remote-MTA: DNS; [127.0.0.1]
Diagnostic-Code: SMTP; 553 5.3.0 <-i@www**.****.net>... No such user here
Last-Attempt-Date: Mon, 9 Jul 2012 19:24:09 +0900
お問い合わせありがとうございます.eml
Subject:
お問い合わせありがとうございます
From:
1つ目@***.***.2つ目@***.***
Date:
2012/07/09 19:24
To:
abc@****.co.jp
このメールは自動送信でお送りしています。
メールでのご送信をありがとうございました。
【送信日時】
2012/07/09(Mon) 19:24:09
【送信内容】
お名前 = だめよめ
メールアドレス = abc@****.co.jp
問合せ種別 = ご相談
メッセージ = 特になし
######################################################
管理宛(2つ目)
このメールは自動送信でお送りしています。
メールでのご送信をありがとうございました。
【送信日時】
2012/07/09(Mon) 19:24:09
【送信内容】
お名前 = だめよめ
メールアドレス = abc@****.co.jp
問合せ種別 = ご相談
メッセージ = 特になし
######################################################
送信者宛
The original message was received at Mon, 9 Jul 2012 19:24:09 +0900
from test@localhost
----- The following addresses had permanent fatal errors -----
1つ目@***.*** 2つ目@***.***
----- Transcript of session follows -----
553 5.1.3 1つ目@***.*** 2つ目@***.***... Invalid route address
--転送されたメッセージ--
To: 1つ目@***.***.2つ目@***.***
From: abc@****.co.jp
Subject: お問い合わせフォーム
Date: Mon, 9 Jul 2012 19:24:09 +0900
このメールは自動送信でお送りしています。
以下のとおりフォームメールより送信がありました。
------------------------------------------------------------
▼送信内容
------------------------------------------------------------
お名前 = だめよめ
メールアドレス = abc@****.co.jp
問合せ種別 = ご相談
メッセージ = 特になし
------------------------------------------------------------
送信日時 : 2012/07/09(Mon) 19:24:09
ブラウザ : ****************************
ホスト名 : ***.***.***.***
------------------------------------------------------------
######################################################
記事No | : 10728 |
投稿日 | : 2012/07/11(Wed) 17:51:10 |
タイトル | : Re^3: CaptchaMailでメールを複数の宛先に送りたい |
ID情報 | : teketen |
投稿者 | : てけてん |
2のスペース区切りにしたときに、「Retuened mail:see transcript for details」のメールが届くのですよね?
1の場合は、届かないわけですよね?
でしたら、1のカンマ区切りで指定するのが良いと思います。
お使いのバージョンが、1.4なので、最新の1.5をダウンロードして下さい。
1.5で、sendmailのコマンド関連が少し修正されていますので。
設定部分で、
# 送信先メールアドレス
$cf{mailto} = 'xxx@xxx.xx';
の指定は、カンマ区切りで、メールアドレスを複数指定してください。
# sendmailへの-fコマンド(プロバイダの仕様確認)
# 0=no 1=yes
$cf{send_fcmd} = 0;
を1にします。
これで、一度送信テストをしてみて下さい。
それでも、送信者にメールが届かない場合は、以下の変更をしてみて下さい。
# 送信先メールアドレス
$cf{mailto} = 'xxx@xxx.xx';
の次の行に
# 送信者へのメール返信に使用する管理者メールアドレス(1つのみ記述)
$cf{ad_mail} = 'xx@xx.xxx';
を追加して、管理者メールを一つだけ指定して下さい。
そして、captmail.cgiの変更をします。
----------------------------------------------------
395行目付近
# 返信内容フォーマット
my $res_body;
if ($cf{auto_res}) {
# 件名MIMEエンコード
my $re_sub = Jcode->new($cf{sub_reply})->mime_encode;
$res_body .= "To: $email\n";
$res_body .= "From: $cf{mailto}\n"; # ■この行の$cf{mailto}を$cf{ad_mail}に変更 ■
----------------------------------------------------
414行目付近
# 返信送信
if ($cf{auto_res}) {
my $scmd = $cf{send_fcmd} ? "$cf{sendmail} -t -i -f $cf{mailto}" : "$cf{sendmail} -t -i"; # ■この行の$cf{mailto}を$cf{ad_mail}に変更 ■
----------------------------------------------------
それぞれ、「# ■この行の$cf{mailto}を$cf{ad_mail}に変更 ■」の変更箇所を修正してください。
記事No | : 10748 |
投稿日 | : 2012/07/16(Mon) 15:01:11 |
タイトル | : Re^4: CaptchaMailでメールを複数の宛先に送りたい |
ID情報 | : dameyome |
投稿者 | : だめよめ |
URL | : http://www.dameyome.net/~test/captchamail/captmail.cgi |
てけてん様
ありがとうございます。
成功しました。
> # sendmailへの-fコマンド(プロバイダの仕様確認)
> # 0=no 1=yes
> $cf{send_fcmd} = 0;
>
> を1にします。
> これで、一度送信テストをしてみて下さい。
>
これだけではやはりうまくいかなかったので、これ以下に書かれていた変更箇所を全てなおしましたところ、やっと思う通りに複数の管理宛にも送信者自身にもメールが届くようになりました。
本当にありがとうございました。