
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を探す
今、見られている記事はコレ!
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで集計したい。
-
ChatGPTの性能は昔に比べて上が...
-
ChatGPT
-
VBAで条件から範囲を指定して色...
-
apacheでPerl CGIが作動せず、5...
-
フォームを再送信しますか?
-
chatGPTみたいに画像生成出来る...
-
ホームページでCGIのフォームを...
-
perlで書いたcgiでsqliteの使い...
-
htmlからパラメータで、cgiに渡...
-
/bin/awk '{print $5}'ってどう...
-
iDeCo
-
皆さんはGUCCIはハイブランドだ...
-
cgi-binのエラー?
-
Trees掲示板CGI(CGI-Resque氏...
-
めちゃきれい
-
number 改行が追加できない
-
生成AI画像について
-
3DCG
-
ホームページにメールフォーム...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
mailformのCGI設置で「Internal...
-
coreダンプの見方。
-
パーミッションについて
-
gzip
-
sendmailの-fオプション記述
-
1日の売上表を作りたいのですけ...
-
sendmailを使用してプログラム...
-
■sendmail送信失敗
-
CGIのためのperlを勉強したい。
-
perlのインストール
-
HTTP500内部サーバーエラーと表...
-
#!/usr/bin/perl --
-
#!/usr/local/bin/perlとしたい
-
フォームの送信ボタンを押すと
-
パーミッションについて
-
CGI-PLANTさんの「切り出し日記」
-
パス??
-
cgiコードが表示されてしまう
-
古ーくからフリーのtree.cgi掲...
-
CGIについて
おすすめ情報