• 締切済み

sendmail 送信先を複数設定するには?

sendmailが使えるCGIを設置して分からないことが出てきました 自分は設置程度は出来ますが、書き換え等は初心者ですm(_ _)m http://www.supra.cx/joyful2chMe/index.html こちらを設置したのですが、新着投稿を複数のアドレスに送るにはどうしたらよいでしょうか PCアドレスと携帯に転送したいと思います。$mailto = '×××@yahoo.co.jp';の先に アドレス追加してみたのですが最初のアドレスにしか届きませんでした # 投稿があるとメール通知する (sendmail必須) # 0 : 通知しない # 1 : 通知するが、自分の投稿記事はメールしない。 # 2 : 通知する。自分の投稿記事も通知する。 $mailing = 2; $mailto = '×××@yahoo.co.jp'; # メールアドレス(メール通知する時) $mail_title = '新規投稿'; # 通知メールのタイトル $mail_form = 'master <×××@yahoo.co.jp>'; # 通知メールの差出人 $sendmail = '/usr/lib/sendmail'; # sendmailパス(メール通知する時) windows2000 ロリポップサーバーを使ってます。 宜しくお願いします

みんなの回答

  • in_dow
  • ベストアンサー率77% (7/9)
回答No.4

#あくまでも参考までに。 sendmailの仕様にも寄りますが、こんなのもありだと思います open(MAIL,"| $sendmail -t"); print MAIL "Bcc: $_\n" foreach (split(/,/, $mailto)); print MAIL "From: $mail_form\n"; #print MAIL "Errors-To: $mail_error_to"; #エラーメールの送り先 print MAIL "Subject: $mail_sub\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"; print MAIL "$mail_body\n"; close(MAIL); #これだと、メーラー(?:デーモンとでも呼ぶべきか?)の負荷も、スクリプト自体の負荷も減ると思います。(時々、toを設定しないとメールを送信してくれない設定をしているサーバーもあるので要注意。) #詳しい制約などはsendmailのマニュアルを読んでみると新しい発見があるかもしれません。 #メールアドレスの表記方法は "abc@abc.abc"だけではなく、"abcさん <abc@abc.abc>"と言う表記もあるって事も言いたいけど、今回は割愛させていただきます^^;

yukacchi
質問者

お礼

おお、またまた詳しく教えて頂きありがとうございました 勉強不足な所たくさんあるので いろいろ試してみたいと思いますm(_ _)m 感謝!

全文を見る
すると、全ての回答が全文表示されます。
  • Dpop
  • ベストアンサー率51% (279/544)
回答No.3

#1 です。 ちょっと修正です。foreach の () が抜けていました。 foreach my $wmailto split(m/,/, $mailto) { は foreach my $wmailto (split(m/,/, $mailto)) { として下さい。 foreach my $wmailto (split(m/,/, $mailto)) { open(MAIL,"| $sendmail -t"); print MAIL "To: $wmailto\n"; print MAIL "From: $email\n"; print MAIL "Subject: $mail_sub\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"; print MAIL "--------------------------------------------------------\n"; print MAIL "$mail_body\n"; print MAIL "--------------------------------------------------------\n"; close(MAIL); } と foreach my $wmailto (split(m/,/, $mailto)) { open(MAIL,"| $sendmail -t"); print MAIL "To: $wmailto\n"; print MAIL "From: $mail_form\n"; print MAIL "Subject: $mail_sub\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"; print MAIL "$mail_body\n"; close(MAIL); } です。

yukacchi
質問者

お礼

重ね重ねありがとうございます、上手くできたら報告したいと思いますm(_ _)m

全文を見る
すると、全ての回答が全文表示されます。
  • Dpop
  • ベストアンサー率51% (279/544)
回答No.2

#1 です。 途中で切れてしまったみたいですね。 の様に半角カンマ(半角カンマが都合が割るけれど、foreach の行にある m/,/ のカンマを別の文字に変更。)していただければ、同じ内容のメールが複数のアドレスへ送信させる様になると思いますよ。 始めにも書きましたが、このスクリプトを改造して利用して良いか確認していませんので、良く確認してから使ってくださいね。 指定できるメールアドレスの数には制限はありませんが、あまり多いとサーバーから警告を受けるかも知れません(Sendmailは重い部類に入ります。)。あまりメールアドレスを追加しない方が良いと思います。 また、僕はスクリプトをダウンロードして、ソースを数カ所読んだだけでスクリプトの修正案を作りました。 多分、これで問題は無いと思いますが、動作を確認するまでは、ご自分のメールアドレス以外のメールアドレスを指定しない様にしてくださいね。

yukacchi
質問者

お礼

大変詳しく教えて頂きありがとうございました 作者さんのHPみたら質問には答えないと書いてあり改造は自由にということ なのでやってみます。まずは自分の携帯への転送が出来るかどうかやってみます

全文を見る
すると、全ての回答が全文表示されます。
  • Dpop
  • ベストアンサー率51% (279/544)
回答No.1

このスクリプトは改造して使って良いのかな?確認してから使ってくださいね。 全く試していませんが。 joyful2ch.cgi の 1832行目~ open(MAIL,"| $sendmail -t"); print MAIL "To: $mailto\n"; print MAIL "From: $email\n"; print MAIL "Subject: $mail_sub\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"; print MAIL "--------------------------------------------------------\n"; print MAIL "$mail_body\n"; print MAIL "--------------------------------------------------------\n"; close(MAIL); を foreach my $wmailto split(m/,/, $mailto) { open(MAIL,"| $sendmail -t"); print MAIL "To: $wmailto\n"; print MAIL "From: $email\n"; print MAIL "Subject: $mail_sub\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"; print MAIL "--------------------------------------------------------\n"; print MAIL "$mail_body\n"; print MAIL "--------------------------------------------------------\n"; close(MAIL); } joyful2ch-hi.cgi の 1722行目~ open(MAIL,"| $sendmail -t"); print MAIL "To: $mailto\n"; print MAIL "From: $mail_form\n"; print MAIL "Subject: $mail_sub\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"; print MAIL "$mail_body\n"; close(MAIL); を foreach my $wmailto split(m/,/, $mailto) { open(MAIL,"| $sendmail -t"); print MAIL "To: $wmailto\n"; print MAIL "From: $mail_form\n"; print MAIL "Subject: $mail_sub\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"; print MAIL "$mail_body\n"; close(MAIL); } として、 $mailto = '×××@yahoo.co.jp'; を $mailto = 'foo@domain.com,bar@domain.com'; の様に半角カンマ(半角カンマが都合が割るけれど、foreach の行にある m/,/ のかん

yukacchi
質問者

お礼

早速ありがとうございます!作者の方にも問い合わせ中なのですが お返事頂けないのでこちらで質問させて頂きました 単純にアドレスを追加するだけじゃダメだったんですね 書き換えしてみたいと思いますm(_ _)m

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ■sendmail送信失敗

    質問させて頂きます。 自分のHPに掲示板を開設しようと、"e-PAD"という無償の掲示板をダウンロードし、WEB上に設置をしました。メッセージの掲載は問題なくできるのですが、sendmailを使用したメール通知機能が働きません。(メール送信失敗というエラーメッセージが表示されます) ■e-PAD http://www.kent-web.com/bbs/epad.html e-PADのcgiファイルの一部を書き換えるだけで使用できると書いていましたので、3項目のみ変更しました。 メール通知機能を使うかどうか→使う sendmailへのパス→/usr/lib/sendmail 通知先アドレス→Hotmailのアドレス uiuiというプロバイダのホームページ作成用領域を使っています。プロバイダからの情報で、sendmailのパスは 確認しています。(/usr/lib/sendmail) 他に確認が必要な項目はありますでしょうか。 ちょっと困ってしまっています。 どうぞよろしくお願い致します。 PC環境はWindowsXPPro、IE6sp1です。

    • ベストアンサー
    • CGI
  • sendmail

     今、HTMLの「form」タグからsendmailを使用してメールへ送るというCGIを組んで いるのですが、 $mailto='xxx@xx.xx'; と送信先のメールアドレスを設定し、 print MAIL "To: $mailto\n"; で送信させるという方法をとっています。  いままで、1メールアドレスに送信させているのですが、今回複数のメールアドレス に送るように設定したいのですが、うまくいきません。  どなたかアドバイスをいただけないでしょうか? よろしくお願いします。

    • ベストアンサー
    • CGI
  • sendmailのメール送信ができません。

    ホームページ作成初心者です。ホームページビルダーを使っています。 sendmailがうまくいきません。 CGIの設定   ・$mailprog = '/usr/sbin/sendmail';   ・$mailto = '自分のアドレス'; をして、CGI権限設定も行いました。 WEBは下記の通り記載しています。    <form action="anketo.cgi" method="POST"><INPUT type="hidden" name="to"自分のアドレス"> WEBで動かすと、「送信完了しました」の画面が表示されるのですが、 実際は、メールは届いていません。 なにが原因なのでしょうか。 NIFTYのプランもスタンダードプランです。 どこを調べたらよいかもわからず(logとかがどこかに出ているのでしょうか??)、困っております。 お助けください。

    • ベストアンサー
    • CGI
  • 設置したCGIからsendmailが届きません

    設置したCGIからメールが届きません。 理想のプログラムを見つけ設置してみたのですが、何故か入力内容のメールが届きません。 配布元で質問したいのですが、既に動いていない様で、表示されないページが多数あります。 どなたかCGIのプログラムが分かる方、見ていただけないでしょうか?よろしくお願いします。 http://www.tryhp.net/webhandler.htm ためしにサーバーをいくつか変更してみましたので、設置方法や設定方法が間違っているとは思えないのですが・・・。 メールの設定箇所 #----------------------------------------------------- #sendmailのパス 利用できないプロバイダは '' にする。 #WindowsでBlatj.exeが使用できる場合は'c:\usr\lib\blatj' #$sendmail = 'usr/bin/sendmail'; #あなたのメールアドレスを指定します。 #このアドレスにメールが届きます $mailto = '*****@**.net'; #同時に送信するアドレスが有れば「,」で区切って指定 $cc = ''; #----------------------------------------------------- 送信プログラム #-------------------------------------------------------------------- # 入力データの確認もできればデータを保存してメールを送信 #-------------------------------------------------------------------- send_email($sendmail, '', $subject, $QUERY{'E-mail'}, $mailto,'', $cc, '', $msg) && &Error('メールの送信に失敗しました'); } html_head($bgcolor, $textcolor, $linkcolor, $vlinkcolor, $linkcolor, $bgimg, 10, 10, $title); print "<center>\n"; print "<p> </p>\n"; print "<table border=1 width=50%><tr><td align=center bgcolor=FFFF88>\n"; print "<font size=2><p> </p>\n"; print "ご協力ありがとうございました。<br>\n"; print "正常に送信しました。\n"; print "<p>"; 省略ばかりですが、情報の送信ボタンを押すと、完了画面が表示されるので、何故メールが届かないのか分かりません。 どなたか分かる方教えてください。 ちなみにサーバーはロリポップと、XREAを使用しております。 どうぞよろしくお願いします。

    • 締切済み
    • CGI
  • Sendmail8.11.2の設定について

    RedHatLinux7.1にSendmail8.11.2をインストールしてメールサーバを立ち上げようとしています。 LinuxもSendmailも初心者なもので、色々と良くわからない事があります。 Q1. メールを送信するのは出来たのですが、メールを受信する為に設定しないといけない内容及び手順が記載されているオススメサイトはありませんか。 Q2. 不正なアドレスにメールした時にエラーメールが返ってくると思うのですが、これをある特定のユーザに通知する設定及び手順が記載されているオススメサイトはありませんか。 御存知の方、御教示を御願いします。

  • sendmailでの複数メールアドレスへの送信

    sendmailで、複数のメールアドレスに送信したいのですが、 Perlのスクリプトで、メールヘッダを出力するとき、 open(TMP,"| /usr/sbin/sendmail -t"); print TMP "To:***@**co.jp,***@**co.jp\n"; などのようにカンマをはさんで複数のアドレスをそのまま記述すれば 送信できるのでしょうか? なぜこう思ったかと言うと、 サイトサーブでのCGIの設置で、フォーム側に送信先アドレスを設定して渡すのですが、 そのとき複数アドレスの指定の仕方がカンマをはさんで記述するようになっていたからです。 また、他の方法があれば教えてください。 お願いします。

    • ベストアンサー
    • CGI
  • CGIショッピングカートのsendmail

    CGIショッピングカートのsendmailが機能しません。 ショッピングカートを初めて設置します。 Shopping Cartの管理者通知メールと発注者返信メールが エラーも届きません。 参照サイト: http://bearmax.minibird.jp/cart.cgi ・サーバーはsendmailに対応しています。 ・check.cgiはすべてOK。 ・注文は、出来ます。「ご注文をお受けいたしました。誠にありがとうございました。」 表示後、反応がありません。 ・注文ログは書き込まれています。 教えてください。お願いします。 管理者メールアドレス $cf{mailto} = 'xxxxxxxx@gmail.com'; sendmailパス【サーバパス】 ※サーバーはminibirdで確認済みです。 $cf{sendmail} = '/usr/lib/sendmail'; #sendmailの -fコマンドが必要な場合 # 0=no 1=yes $cf{sendm_f} = 1;

    • 締切済み
    • CGI
  • webform.cgiによる複数メール送信

    以下のwebformで、受信先メールアドレスを2つ設定したいのですが、 一つ目のメールアドレスの後に、「,」で区切っても、 「スペース」あけても、一つ目のメールアドレスだけに送られてくるだけで、2つ目のメールアドレスには送られてきません・・・このformでどのように設定したらいいのでしょうか? まったくの初心者です・・お願いします。。 #!/usr/bin/perl ########## #自動返信、ヘッダー・フッター、クロネコ(line:358) ########## #■日本語コード変換ライブラリ require 'jcode.pl'; require 'html.pl'; #■SENDMAILの設定 $sendmail = '/usr/lib/sendmail'; #■受信先メールアドレス $mailto = '**********@******.**.**'; ←ここにもう一つ追加したいんです。 #■自動返信 $auto_res = "on";#↓$mailcheck = 0;必須 #■名称 $title = 'ご送信フォーム'; ________________________________________________________________

    • ベストアンサー
    • CGI
  • FreeBSDでのsendmailでのメール送信

    はじめまして FreeBSD11.0で自前サーバ構築をしています。 今回、サーバ上からsendmailで、下記ページを参考にメールを送信を試みています。 ・http://x68000.q-e-d.net/~68user/unix/pickup?sendmail FreeBSD11.0上での作業は、以下の通りです。 1. /etc/rc.confに下記を追加 sendmail_enable="YES" 2. リブート 3. sendmailが動作していることを下記で確認 # /etc/rc.d/sendmail status sendmail is running as pid 713. sendmail_msp_queue is running as pid 716. # 4. sendmailコマンドを実行 % sendmail From:送信元メールアドレス To:宛先メールアドレス Subject:タイトル xxx . % ●結果、コマンドは、正常に終了してますが、メールは、送信できません。 試しに自分の契約しているレンタルサーバ(FreeBSD9.1)で上記の4.のsendmail コマンドを実行すると、メール送信ができます。 環境設定など作業上なにが足らないのでしょうか。 FreeBSDのsendmailコマンドでの送信についてご存知の方がおりましたらご教示頂け ないでしょうか。 いろいろと調べたり試行錯誤したのですが、解決できなく質問をさせて頂きました。 よろしく、お願いいたします。

  • Sendmailについて

    自分のホームページに、メールフォームを設置したいので、Sendmailをしようしたいのです。 そのため、CGIを探しています。 それとも、サーバーのSendmail機能を利用する方がいいのでしょうか? いずれかの方法をどうか、教えてください。

    • 締切済み
    • CGI
このQ&Aのポイント
  • プリンターのDCP-J968Nは、スマートフォンからのプリントに対応していないようです。
  • ブラザー製品のDCP-J968Nは、スマホプリント製品の一覧に含まれていません。
  • DCP-J968Nはスマホからのプリントには対応しておらず、一覧にも掲載されていません。
回答を見る

専門家に質問してみよう