sendmailコマンドでは、-f オプションでfromアドレスを指定しない場合、お客様のBIGLOBEメールアドレスがfromアドレスに設定されてメール送信がされます。
↑と記載されているので-fオプションを設定したいのですが、↓に書き足すにはどの様に記載したら良いでしょうか?
if ($sendmail) {send_mail($sendmail,'',$subject,$masteremail,'','','',$msg)}
if ($sendmail) {send_mail($sendmail -f ***@***.ne.jp,'',$subject,$masteremail,'','','',$msg)}
↑だとBIGLOBEメールアドレスのまま届いてしまいます。
No.3ベストアンサー
- 回答日時:
perl-lib.pl をよくよくのぞいてみましたところ、
sendmailコマンドで-fオプションを指定できるように書き換える必要があります。
perl-lib.pl 212行目付近の send_email 関数は、
以下のような構造となっています。
(かなり省略しました)
------------------------------------------------------------------------------
sub send_email {
my($sendmailpath, $uuencodepath, $subject, $from, $to, $cc, $bcc, $body, $files, $encoding, $separator) = @_;
... 略
if ( $sendmailpath =~ /blatj/i ) {
... 略
} elsif ( -e $sendmailpath ) {
... 略
if (open(MAIL,"| $sendmailpath -t")) {
... 略
} else { $err = 'Error Open sendmail Failure'; }
} else { $err = 'Error Not sendmail Utility'; }
$err;
}
------------------------------------------------------------------------------
この
if (open(MAIL,"| $sendmailpath -t")) {
という行を、
if (open(MAIL,"| $sendmailpath -f $from -t")) {
と書き換えればよい。
ところで、回答ANo.1 の補足に貼り付けられたコードで、
CGIプログラム中での send_email 関数の呼び出し箇所
if ($sendmail) {send_email($sendmail,'',$subject,$masteremail,$masteremail,'','',$msg)
if ($sendmail) {send_email($sendmail,'',$subject,$masteremail,$masteremail,'',$bcc,$news)
のように、from と to の両方に同じ変数 $masteremail を渡しているのですが、これは問題ないのでしょうか??
perl-lib.pl の指示して頂いた場所を書き換えて試したところ
送信者アドレスからBIGLOBEメールアドレスが消えました^^
何度もお手数を掛けて申し訳ありませんでした。
また、from と to の両方に同じ変数が渡っているので、送信者と受信者が
同じアドレスになりますが、mailは届いているのでOKです。
本当に丁寧に教えて頂け助かりました。
心よりお礼申し上げます。ありがとうございました。
No.2
- 回答日時:
補足にはりつけられたソースコードの行を見ると、
関数名は、send_mail ではなく、send_email のようです。
そのCGIプログラム中で、関数 send_email を定義していないのならば、
ひょっとして、汎用関数ライブラリ perl-lib.pl をお使いではないでしょうか?
ソースコードに次のような記述がないでしょうか?
require 'perl-lib.pl'
perl-lib.pl のソースコードを見ると、
send_email 関数は、4番目の引数に
-f オプションをつけて、sendmail コマンドに渡しています。
呼び出す側では、4番目の引数は、$masteremail となっています。
if ($sendmail) {send_email($sendmail,'',$subject,$masteremail,$masteremail,'','',$msg)
↑この行より手前で、変数 $masteremail に、設定したいFromアドレスを代入してやればよいでしょう。
参考URL:http://www.tryhp.net/perllib.htm
この回答への補足
require 'perl-lib.pl' の記述ありました。
$masteremail = '*****@*****.co.jp' を教えて頂いた箇所に入れましたが駄目で
if ($sendmail) のある全ての前に3箇所同時に入れたりもしてみましたが駄目でした。
諦めモード入って来ました…色々教えて頂いたのに申し訳ありません。
No.1
- 回答日時:
そのCGIプログラムは記述言語は何でしょう?
Perl でしょうか?
Perl だとして話をすすめてしまいます ^^;
send_mail(...) は、sendmailコマンドではなく、send_mailという名前の関数をよびだしています。
その関数は、そのプログラムの別の箇所もしくは別のファイルで次のように定義されているはずです。
sub send_mail {
... 略
}
探してみてください。
そのなかでsendmailコマンドにメールを渡す処理が
書かれているはずなので、
そちらに -fオプションを書き足せばよいでしょう。
この回答への補足
レスありがとうございます。
記述言語はPerlです。
教えて頂いたものを探したのですが見つからなくて…
UPするCGIもこれ一つです。
sendで検索してかかったものは下の6行です。
$sendmail = '/usr/lib/sendmail';
print "<input type=hidden name=cgi_action value=sendmail>\n";
elsif ($QUERY{'cgi_action'} eq 'sendmail')
if ($sendmail) {send_email($sendmail,'',$subject,$masteremail,$masteremail,'','',$msg)
if ($sendmail) {send_email($sendmail,'',$subject,$masteremail,$masteremail,'',$bcc,$news)
if ($sendmail) {send_email($sendmail,'',$subject,$masteremail,$QUERY{'E-Mail'},'',$masteremail,$msg)
最後の3つは先だっての質問でお答え頂いたので違いますよねぇ
とすると3行目かと思い
elsif ($QUERY{'cgi_action'} eq 'sendmail -f ***@***.co.jp')
としてみましたが駄目でした。
ご意見頂けますようお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux Ubuntuサーバーでメールを受信できない 7 2022/08/23 20:55
- PHP php 完了画面の送信メールのコードを書いているのですが・・・ 2 2023/06/02 12:01
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本 1 2022/04/27 13:31
- Gmail 【お助け!】サーバーからのメール送信でGmailに送信されない問題について 1 2023/06/20 22:03
- その他(プログラミング・Web制作) laravel 本番環境でメールが送れません。 1 2023/02/17 17:57
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- UNIX・Linux iptablesを設定するとメール送信処理が遅くなる!? 6 2022/06/07 01:11
- CGI -T(汚染モード)でメールが送れません 1 2022/06/12 14:11
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
sendmailの-fオプション記述
-
CGIでリフレッシュメタタグの代...
-
EXCELファイルに誰がアクセスし...
-
TwitterAPIを使用せずに自動ツ...
-
《エクセルVBA》「他の人が該当...
-
CGIから別サーバーのCGIの呼び出し
-
画像アップ時のエラー
-
perlからJavascriptを起動
-
インターネット通信
-
FFFTPでアップロードできない?
-
エラーの意味がわかりません
-
HTMLソースファイルからタグを...
-
掲示板のスレッドが消えた!?
-
ASPから既存のexcelブックを開...
-
ラジオボタンのグループ化
-
cgiファイルを実行すると、「開...
-
Perlでファイルをアップロード...
-
VBScriptで、ファイルから任意...
-
空メールを送信すると、サーバ...
-
PDFファイルアップロード時にOS...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CGIのEncodeエラーについて
-
古ーくからフリーのtree.cgi掲...
-
Windows の *.cgi ファイル を ...
-
パーミッションについて
-
#!/usr/bin/perl --
-
見本のCGIをマニュアル通りに置...
-
CGIのパーミッションについて
-
BBSの設置について
-
CGIでリフレッシュメタタグの代...
-
EXCELファイルに誰がアクセスし...
-
《エクセルVBA》「他の人が該当...
-
VBAでサーバーにアクセスするに...
-
ラジオボタンのグループ化
-
ASPから既存のexcelブックを開...
-
VBScriptで、ファイルから任意...
-
URLに~/cgi-bin/~を隠す方法
-
FTPにて553エラー
-
VBAを使用して、外部サーバのフ...
-
ASP(IIS?)のエラーについて
-
CGIでソースがそのままでてしま...
おすすめ情報