🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

SMTP

SMTP(Simple Mail Transfer Protocol)はIPネットワークでemailを伝送する為のプロトコルです。

proxy

proxy(プロキシー)は、企業などの内部コンピュータとインターネットの中間に位置し、例えば直接インターネットに接続できない内部コンピュータの代理としてインターネットに接続する等をするシステム、もしくは代理として機能を実行するソフトウェアです。内部ネットワークへのアクセスを一元管理し、内部からの特定の種類の接続以外を遮断すること、外部からの不正アクセスを拒否することなどに用いられます。

Q&A

解決済

1回答

3168閲覧

proxy経由だとapacheのsmtpがうまくいかない。

shakesuke

総合スコア6

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

SMTP

SMTP(Simple Mail Transfer Protocol)はIPネットワークでemailを伝送する為のプロトコルです。

proxy

proxy(プロキシー)は、企業などの内部コンピュータとインターネットの中間に位置し、例えば直接インターネットに接続できない内部コンピュータの代理としてインターネットに接続する等をするシステム、もしくは代理として機能を実行するソフトウェアです。内部ネットワークへのアクセスを一元管理し、内部からの特定の種類の接続以外を遮断すること、外部からの不正アクセスを拒否することなどに用いられます。

0グッド

0クリップ

投稿2019/09/09 12:39

編集2019/09/10 01:55

はじめまして。

apacheのsmtpがproxy経由だとうまくいかず悩んでいます。

現在仕事でExcelファイルを添付したメールを、特定の宛先に送るプログラムを開発しています。
ローカルの開発環境でメールの送信を検証したいのですが、社内のネット回線がproxyを経由しているためか、失敗してしまいます。
全く同じやり方を自宅のパソコンでやったところうまくいったので、高確率でproxyが原因なのではと考えています。

そこでproxy経由でもsmtpを成功させる方法を探しているのですが、見つからなく行き詰っている状態です。

何かいい方法を教えてもらえないでしょうか?

開発環境にはvagrant + virtualboxでcentos6.7を使っています。
以下のリンクを参考に、gmail経由のメール送信が、proxy環境ではなかったら成功しました。
http://hpscript.com/blog/vagrant%E3%83%BBcentos%E3%81%8B%E3%82%89sendmail%E3%81%A7%E3%83%A1%E3%83%BC%E3%83%AB%E3%82%92%E9%80%81%E4%BF%A1%E3%81%99%E3%82%8B/

追記

質問の仕方が悪かったので、追記修正させてください。

現状、上のリンクの方法で587番ポートでgmailのSMTPサーバにリレーしてメールを送信させようとしています。
本番環境はgmail経由ではないのですが、開発環境でメール処理を確認するために設定しました。

sasl_passwdを設定した後、

[root@localhost postfix]#sendmail 送りたいメールアドレス

すると、以下のようなエラーが複数出ます。

error

1localhost postfix/smtp[3321]: 76C806002E: to=<送りたいメールアドレス>, relay=none, delay=601, delays=571/0.01/30/0, dsn=4.4.1, status=deferred (connect to smtp.gmail.com[74.125.204.109]:587: Connection timed out)

今までConnection timed outで失敗してしまったのはproxyの設定を正しくしてなかったことが多く、またproxyではないネット環境だとメール送信に成功したため、proxyが原因なのではと考えた次第です。

現在の25番ポートの状態ですが、lsof -i:25と入力すると以下のような画面が出ます。

lsof

1COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME 2master 3249 root 12u IPv4 14087 0t0 TCP *:smtp (LISTEN)

lsof -i:587と入力すると何も表示されません。

多数のご指摘ありがとうございます。
引き続き調査します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

scsi

2019/09/09 12:51

外部への25port/tcpの接続が出来ないということでしょうか? それとも587port/tcpでしょうか?いずれにしてもapacheは関係ないと思いますが。社内の外向けfirewall管理者に聞くか、ISPのop25b制限が適用されていないか確認してみてはどうでしょうか
otn

2019/09/09 12:57

ApacheにはSMTP送信機能はないし、SMTPにProxyはないので、そのあたりを正しく認識して、質問を適切に書き直してください。
退会済みユーザー

退会済みユーザー

2019/09/09 13:40

SMTPにProxyはねーよって書こうと思ったら、もうコメントついてた
guest

回答1

0

ベストアンサー

コメントにも書きましたが、ApacheにはSMTP送信機能はないし、SMTPにProxyはないので、まずは基本的な用語や概念をしっかり理解しましょう。

外部へのHTTPがProxy経由でないとつながらないという状況であれば、そのLANからは外部にはIP的につながっていないので、直接SMTP通信はできません。
外部につながったDMZ(Proxyサーバーなどが置いてあるLANセグメント)に、SMTPサーバーを立てて、そこ経由で送信します。
職場のネットワーク管理者に相談しましょう。

投稿2019/09/10 00:44

otn

総合スコア85882

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

otn

2019/09/10 05:14

↑意味はわかりますか?
shakesuke

2019/09/10 06:43

回答ありがとうございます。 無事解決しました。 SMTP_PORTを465に変更することっでうまくいきました。 ご指摘の通りproxyは関係ありませんでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問