メールを複数のアドレスに配置したいのですがPGをどう変更すれば
よろしいでしょうか?
参考ソース
#!/usr/bin/perl
# フォームメール
#jcode.plの場所を設定
require "./jcode.pl";
# sendmailの場所を設定
$sendmail = '/usr/lib/sendmail';
# サンプルのタイトル
$mail_title = "メール送信サンプル";
# ページの背景色
$bgcolor = "#FFFFFF";
# ページの文字色
$text = "#000000";
# 戻り先のURL
$back_url = '***@aaa.co.jp';
# CGIプログラムの設置場所
$cgi_url = "./mail.cgi";
# 受信メールアドレス(送信先)
$mailto = '***@aaa.jp';
No.2
- 回答日時:
せっかくたくさん貼り付けられたのですが、肝心の送信部分が抜けていますね。
最初の質問文の略語や No. 1 の方の回答に対するお返事を拝見するに、ここにおいて質問されながらも、それとは裏腹に独自判断されている部分が多分にあるように見受けられます。
回答ありがとうございます。
欠けている部分はたぶんこれです。
# メール送信のサブルーチン
sub sendmail {
use MIME::Base64 ();
$en_subject = MIME::Base64::encode($subject);
chomp($en_subject);
$en_subject = "=?ISO-2022-JP?B?$en_subject?=";
open(MAIL,"| $sendmail -t");
print MAIL "Errors-To: $mailto\n";
print MAIL "To: $mailto\n";
print MAIL "From: $email\n";
print MAIL "Reply-To: $mailto\n";
print MAIL "Subject: $en_subject\n";
print MAIL "Content-Transfer-Encoding: 7bit\n";
print MAIL "Content-Type: text/plain\; charset=\"ISO-2022-JP\"\n\n\n";
print MAIL "$msg\n\n";
close(MAIL);
質問内容自体に無理があるのは承知しています。
OKWAVEで解決できる問題ではないですね。
No.1
- 回答日時:
natwoさんの現在のperlの知識では、この掲示板のやり取りだけでスクリプトを改変し、複数アドレスへのメール配信を達成するのは困難であると思われます。
そのため、Gmailを利用した別解答を示します。(参考ソースでは回答不可能です)
まず、gmailのアカウントを取得します。
http://mail.google.com/
perlスクリプトの送信先に取得したgmailのE-Mailアドレスを設定します。
で、Gmalにログイン後、以下の手順を実行します。
設定(右上)→フィルタ→新しいフィルタを作成
→件名に# サンプルのタイトルのところで設定した値を入力
→次のステップ→次のアドレスに転送をチェックし送信先E-mailアドレスを入力→フィルタを作成
これを送信したいアドレス分だけ繰り返してください。
これで複数アドレスに送信できるようになるかも知れません(スクリプトの全容がわからないため断言は不可能なんです)。
この回答への補足
3番目のソース
あとは確認のサブルーチンなんで省略しました。
if($name eq 'proc'){
$proc = $value;
}
elsif($name eq 'email'){
$email = $value;
}
elsif($name eq 'who'){
$who = $value;
}
elsif($name eq 'birth'){
$birth = $value;
}
elsif($name eq 'subject'){
$subject = $value;
}
elsif($name eq 'place'){
$place = $value;
}
elsif($name eq 'company'){
$company = $value;
}
elsif($name eq 'c_place'){
$c_place = $value;
}
elsif($name eq 'tel'){
$tel = $value;
}
elsif($name eq 'body'){
$value =~ s/\r\n/\n/g;
$value =~ s/\r/\n/g;
$body = $value;
}
}
}
# 入力内容をチェック・編集・送信
if($proc eq 'send'){
if($email eq ''){
$error = "メールアドレスが設定されていません。";
}
if($who eq ''){
$error = "$error お名前が設定されていません。";
}
if($subject eq ''){
$error = "$error 題名が設定されていません。";
}
if($body eq ''){
$error = "$error 本文が設定されていません。";
}
if($url eq ''){
$url = "なし";
}
if($error eq ''){
$msg = "========================================\n";
$msg = "$msg 差出人:$who (email:$email)\n";
$msg = "$msg 生年月日:$birth\n";
$msg = "$msg 題名:$subject\n";
$msg = "$msg 住所:$place\n";
$msg = "$msg 会社:$company\n";
$msg = "$msg 会社の所在地:$c_place\n";
$msg = "$msg TEl/FAX:$tel\n";
$msg = "$msg========================================\n\n";
$msg = "$msg- - - - - - 以下、本文 - - - - - -\n";
$msg = "$msg$body\n";
$msg = "$msg- - - - - - -ここまで- - - - - - -\n\n";
$msg = "$msg========================================\n";
$msg = "$msg 送信年月日:$time\n";
$msg = "$msg ブラウザ:$ENV{HTTP_USER_AGENT}\n";
$msg = "$msg ホスト:$REMOTE_HOST\n";
&sendmail;
}
}
print "Content-type: text/html\n";
print "\n";
print "<html>\n";
print "<head>\n";
print "<meta http-equiv=\"content-type\" content=\"text/html; charset=shift-jis\">\n";
print "<title>$mail_title</title>\n";
print "</head>\n";
print "<body bgcolor=\"$bgcolor\" text=\"$text\">\n";
print "<img src =\"../kensyu/a.gif\"alt=\"$n\" height=\"47\"width=\"548\"border=\"0\">\n";
print "<br><br>\n";
if($error ne ''){
&error;
}
了解でーす。そんぐらいはわかっているんですけど、
字数の制限上そこまで書けない…。
いけるとこまで以下。
$REMOTE_HOST = $ENV{'REMOTE_HOST'};
if($REMOTE_HOST==''){
$REMOTE_HOST = $ENV{'REMOTE_ADDR'};
}
if($REMOTE_HOST eq $ENV{'REMOTE_ADDR'}){
$REMOTE_HOST = gethostbyaddr(pack('C4',split(/\./,$REMOTE_HOST)),2) || $REMOTE_ADDR;
}
# 日時を取得
@local_time = localtime(time);
$local_time[5] = sprintf("%02d", $local_time[5]+1900);
$local_time[4] = $local_time[4]+1;
$local_time[2] = sprintf("%02d", $local_time[2]);
$local_time[1] = sprintf("%02d", $local_time[1]);
$local_time[0] = sprintf("%02d", $local_time[0]);
$time = "$local_time[5]\/$local_time[4]\/$local_time[3] $local_time[2]\:$local_time[1]\:$local_time[0]秒";
# フォームデータをデコード
if ($ENV{'REQUEST_METHOD'} eq "POST") {
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/,$buffer);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
&jcode'convert(*value,'sjis');
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本 1 2022/04/27 13:31
- CGI -T(汚染モード)でメールが送れません 1 2022/06/12 14:11
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- UNIX・Linux Ubuntuサーバーでメールを受信できない 7 2022/08/23 20:55
- au(KDDI) auからUQモバイルに変えたのですが、受信メール設定のページが見つかりません。 受信するメールアドレ 3 2022/04/07 22:53
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- PHP php 完了画面の送信メールのコードを書いているのですが・・・ 2 2023/06/02 12:01
- その他(メールソフト・メールサービス) メールサーバーは「PC側がメールをDL済みか否か?」を何を以て感知するのか? 2 2022/12/20 14:56
- Gmail SPFレコードとDNSサーバーについて、gmailを設定できるかどうか 2 2023/06/10 23:55
- Gmail gmailで独自ドメインアドレスのメールが届かない件 1 2023/08/25 23:24
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ASPでのsendmail(BASP21の使用...
-
server errorで困ってます。
-
VBAでoutlook365が起動しません。
-
添付ファイルをつけてメールを送る
-
フォームメール確認画面ありの...
-
メーリングリストへ登録するCGI
-
Excel VBAでリンク切れをチェッ...
-
例外処理のフローチャートの記...
-
標準モジュールを削除したい。(...
-
'Range'メソッドは失敗しました
-
ユーザー定義関数に#NAME?が返...
-
グラフのX,Y座標を取得したい
-
Excel VBAで、ユーザーフォーム...
-
印刷後メッセージボックスを表...
-
VBA This Workbookモジュール...
-
VBでグローバル変数を宣言するには
-
エクセルVBAでシートモジュール...
-
教えて下さい。
-
モジュールとクラスの違いって...
-
Excel VBA 標準モジュール内で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAでoutlook365が起動しません。
-
【C言語】メールを送信するプロ...
-
Net::SMTPでメールを送信したい...
-
フォームデータ-の送信時の確認...
-
VBScriptで、メールの送信をし...
-
server errorで困ってます。
-
Exchangeを使用したメール送信...
-
LotusScript メール作成方法が...
-
さくらインターネットでの添付...
-
ウィンドウズ上で動くメールサ...
-
CGI(Perl)からメールを送信する...
-
BASP21使用のメール送信でコマ...
-
CGI(Perl)でメールフォームを作...
-
DreamWeaverCS4でのフォーム作...
-
VBAでsmtp認証をするには?
-
perl 自動返信メールプログラム...
-
ASPでのsendmail(BASP21の使用...
-
リンクをクリックするだけでC...
-
プロキシ経由でjavamailを使っ...
-
javamailでメール送信ができません
おすすめ情報