
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
ロリポップサーバーを使ってます。
宜しくお願いします
A 回答 (4件)
- 最新から表示
- 回答順に表示
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>"と言う表記もあるって事も言いたいけど、今回は割愛させていただきます^^;
おお、またまた詳しく教えて頂きありがとうございました
勉強不足な所たくさんあるので
いろいろ試してみたいと思いますm(_ _)m 感謝!
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);
}
です。
No.2
- 回答日時:
#1 です。
途中で切れてしまったみたいですね。
の様に半角カンマ(半角カンマが都合が割るけれど、foreach の行にある m/,/ のカンマを別の文字に変更。)していただければ、同じ内容のメールが複数のアドレスへ送信させる様になると思いますよ。
始めにも書きましたが、このスクリプトを改造して利用して良いか確認していませんので、良く確認してから使ってくださいね。
指定できるメールアドレスの数には制限はありませんが、あまり多いとサーバーから警告を受けるかも知れません(Sendmailは重い部類に入ります。)。あまりメールアドレスを追加しない方が良いと思います。
また、僕はスクリプトをダウンロードして、ソースを数カ所読んだだけでスクリプトの修正案を作りました。
多分、これで問題は無いと思いますが、動作を確認するまでは、ご自分のメールアドレス以外のメールアドレスを指定しない様にしてくださいね。
大変詳しく教えて頂きありがとうございました
作者さんのHPみたら質問には答えないと書いてあり改造は自由にということ
なのでやってみます。まずは自分の携帯への転送が出来るかどうかやってみます
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/,/ のかん
早速ありがとうございます!作者の方にも問い合わせ中なのですが
お返事頂けないのでこちらで質問させて頂きました
単純にアドレスを追加するだけじゃダメだったんですね
書き換えしてみたいと思いますm(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CGIでテキストボックスの内容に...
-
掲示板(kentさんの所のsunbbs...
-
SUN BBSの改造方法
-
wordの数式について 定積分を書...
-
ラジオボタンが両方とも選択で...
-
select値をhiddenのvalueに渡し...
-
チェックボックスの返す値
-
【ASP.NET MVC】フォームヘルパ...
-
横スクロールを縦スクロールに...
-
別formのhidden項目を自form値...
-
左右のフレームを同時にスクロ...
-
WEBページを強制的に横画面で見...
-
フォームの入力内容の後ろに文...
-
INPUT TYPE
-
VB.net データーグリッドビュー...
-
「value」に2つの値をセットす...
-
オイラー法の誤差
-
python subprocessに関する質問
-
proftpdで困ってます。
-
拡張子'html'と'htm'はどっちが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
掲示板(kentさんの所のsunbbs...
-
ダブルクオテーションは使うべ...
-
Perlでメール送信機能
-
htmlからパラメータで、cgiに渡...
-
CGIがうまく作動せず困っていま...
-
ezwebにおける POSTメソッドで...
-
CGIでテキストボックスの内容に...
-
希望した番号に更新マークを表...
-
cgi+htmlテンプレート使用
-
テキストファイルを読んで次のc...
-
レンタルサーバーでperlのcgiフ...
-
PC・携帯等のアクセス時の自動...
-
sendmailで送信すると、迷惑メ...
-
sendmail 送信先を複数設定す...
-
substrで数値を抽出してのマッ...
-
Spreadsheet::WriteExcelについ...
-
CGIから表生成(1行に数件のデ...
-
サーバー上のPDFにCGIでパスワ...
-
【perl/cgi】文字列を検索して...
-
CSVを読み込んでメニューを作成...
おすすめ情報