Alibaba Cloud Centos6.X でメールを送信する際に発生するさまざまな問題

Alibaba Cloud Centos6.X でメールを送信する際に発生するさまざまな問題

序文:

Webサービスを提供するために、Alibabaクラウドホストを新しくインストールしました。すべての環境がセットアップされ、サービスを提供できるようになりました。しかし、最終監視フェーズでメール送信時にさまざまな落とし穴に遭遇するとは思っていませんでした。ここでこれを共有したいと思います。あなたもこの落とし穴に遭遇したことがありますか?

NetEase 163 無料メールボックス関連サーバー情報:

1. インストールと設定:

1.1. インストール

[root@linux-node2 ~]# yum install mailx -y

読み込まれたプラグイン: fastestmirror、security

インストールプロセスの設定

最速ミラーの決定

 * ベース: mirrors.aliyun.com

 * 追加情報: mirrors.aliyun.com

 * 更新情報: mirrors.aliyun.com

ベース | 3.7 kB 00:00  

エペル | 3.2 kB 00:00  

epel/プライマリ | 3.2 MB 00:00  

エペル 12521/12521

特典 | 3.4 kB 00:00  

アイスハウス | 2.9 kB 00:00

アップデート | 3.4 kB 00:00  

アップデート/プライマリ_ | 1.2 MB 00:00  

パッケージ mailx-12.4-8.el6_6.x86_64 はすでにインストールされており、最新バージョンです

何もすることがない

1.2. 設定(163メールボックスを例に)

まず、メールボックスがあなたのニーズを満たしている必要があります。メールボックスに移動して設定してください

次に/etc/mail.rc設定ファイルに追加します

[email protected] smtp=smtp.163.com smtp-auth-user=admin smtp-auth-password=xxxxxx smtp-auth=login と設定します

[root@linux-node2 ~]# echo "12345" | mail -v -s "test" [email protected]

今のところ問題はないのですが、メールを受信できません。では、トラブルシューティングを始めましょう。ネットワークと構成のチェックをすべて完了した後も、メールを受信できませんでした。最後にポートをチェックして問題を発見しました。 ! !

[root@linux-node2 ~]# telnet smtp.163.com 25

220.181.12.17 を試行しています...

^C

[root@orcherstrator ~]# nc -vz -w 1 smtp.163.com 25

nc: smtp.163.com ポート 25 (tcp) への接続がタイムアウトしました: 操作が進行中です

nc: smtp.163.com ポート 25 (tcp) への接続がタイムアウトしました: 操作が進行中です

nc: smtp.163.com ポート 25 (tcp) への接続がタイムアウトしました: 操作が進行中です

nc: smtp.163.com ポート 25 (tcp) への接続がタイムアウトしました: 操作が進行中です

nc: smtp.163.com ポート 25 (tcp) への接続がタイムアウトしました: 操作が進行中です

nc: smtp.163.com ポート 25 (tcp) への接続がタイムアウトしました: 操作が進行中です

nc: smtp.163.com ポート 25 (tcp) への接続がタイムアウトしました: 操作が進行中です

nc: smtp.163.com ポート 25 (tcp) への接続がタイムアウトしました: 操作が進行中です

サーバーがサードパーティのメールボックスとの接続をまったく確立できないことが判明しました。問題を発見して対処を開始した後、Alibaba Cloud サーバーがポート 25 をブロックしており、ブロック解除を申請する必要があることがわかりました。よし!管理コンソールにログインしてアプリケーションを開始してください。 ! !

Alibaba Cloud のレビュースピードはかなり速く、2 時間以上で結果がフィードバックされました。しかし、見ているだけで血を吐きそうになります! ! !

他の方法しか考えられません! !最終的に163メールボックスの465暗号化ポートを使用することを決定しました

[root@orcherstrator ~]# telnet smtp.163.com 465

220.181.12.14 を試行しています...

smtp.163.comに接続しました。

エスケープ文字は '^]' です。

^C

外部ホストによって接続が閉じられました。

root@orcherstrator ~]# nc -vz -w 1 smtp.163.com 465

smtp.163.com 465 ポート [tcp/urd] への接続に成功しました。

希望があるようです! ! ! /etc/mail.rcの設定を変更する

[email protected] を設定します

smtp="smtps://smtp.163.com:465" を設定します

[email protected] を設定します

smtp-auth-password=xxxxx を設定します

smtp-auth=ログインを設定します

SMTP-use-starttls を設定する

ssl-verify=ignore を設定する

nss-config-dir=/etc/pki/nssdb/ を設定します。

[root@linux-node2 ~]# echo 'hello' |mail -v -s "test" [email protected]

ホスト smtp.163.com を解決しています...完了しました。

123.125.50.133 に接続しています...接続されました。

証明書のエラー: ピアの証明書発行者が認識されません。##ピア証明書がありません

DNS名の比較: "*.163.com"

SSLパラメータ: cipher=AES-128-GCM、keysize=128、secretkeysize=128、

発行者=CN=GeoTrust SSL CA - G3、O=GeoTrust Inc.、C=US

subject=CN=*.163.com、O="NetEase (Hangzhou) Network Co., Ltd",L=杭州、ST=浙江、C=CN

220 163.com Coremail システム用スパム対策 GT (163com[20141201])

>>> EHLO Linux-Node2

250メール

250-パイプライン

250-AUTH ログイン プレーン

250-AUTH=ログインプレーン

250コアメール 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2UFVHs-cUCa0xDrUUUUj

250-スタートルス

250 8ビット

>>> 認証ログイン

334 dXNlcm5hbWU6

>>> eXVleXVhbmN1bkAxNjMuY29t

334 UGFzc3dvcmQ6

>>> aGVsbG9uaWhhbzE5ODkxMA==

535 エラー: 認証に失敗しました

SMTP サーバー: 535 エラー: 認証に失敗しました

「/root/dead.letter」11/299

. . . メッセージは送信されませんでした。##電子メールは送信されませんでした。

今のところネット上ではメールは受信できると書いてあるのですが、どうしても受信できないというケースばかりです。それではエラーに応じて解決してみましょう! ! !証明書を取得する

[root@linux-node2 ~]# mkdir -p /root/.certs/

[root@linux-node2 ~]# echo -n | openssl s_client -connect smtp.163.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/163.crt

深さ=2 C = US、O = GeoTrust Inc.、CN = GeoTrust Global CA

戻り値の確認:1

深さ=1 C = US、O = GeoTrust Inc.、CN = GeoTrust SSL CA - G3

戻り値の確認:1

深さ=0 C = CN、ST = 浙江、L = 杭州、O = "NetEase (Hangzhou) Network Co., Ltd"、CN = *.163.com

戻り値の確認:1

終わり

[root@linux-node2 ~]# certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/163.crt

[root@linux-node2 ~]# certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/163.crt

[root@linux-node2 ~]# certutil -L -d /root/.certs

証明書ニックネーム信頼属性

SSL、S/MIME、JAR/XPI

ジオトラスト SSL CA C,,

[root@linux-node2 ~]# cd /root/.certs/

[root@linux-node2 .certs]# certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i 163.crt

注意: 秘密鍵が存在する場合、信頼フラグ u は自動的に設定されます。

[root@linux-node2 .certs]# cd

[root@linux-node2 ~]# vim /etc/mail.rc

[email protected] を設定します

smtp="smtps://smtp.163.com:465" を設定します

[email protected] を設定します

smtp-auth-password=xxxxx を設定します

smtp-auth=ログインを設定します

SMTP-use-starttls を設定する

ssl-verify=ignore を設定する

nss-config-dir=/root/.certs を設定します

[root@linux-node2 ~]# echo 'hello' |mail -v -s "test" [email protected]

ホスト smtp.163.com を解決しています...完了しました。

123.125.50.132 に接続しています...接続されました。

DNS名の比較: "*.163.com"

SSLパラメータ: cipher=AES-128-GCM、keysize=128、secretkeysize=128、

発行者=CN=GeoTrust SSL CA - G3、O=GeoTrust Inc.、C=US

subject=CN=*.163.com、O="NetEase (Hangzhou) Network Co., Ltd",L=杭州、ST=浙江、C=CN

220 163.com Coremail システム用スパム対策 GT (163com[20141201])

>>> EHLO Linux-Node2

250メール

250-パイプライン

250-AUTH ログイン プレーン

250-AUTH=ログインプレーン

250コアメール 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2UF6b612UCa0xDrUUUUj

250-スタートルス

250 8ビット

>>> 認証ログイン

334 dXNlcm5hbWU6

>>> eXVleXVhbmN1bkAxNjMuY29t

334 UGFzc3dvcmQ6

>>> aGVsbG9uaWhhbzE5ODk=

235 認証成功

>>> メール送信者:<[email protected]>

250 メールOK

>>> 送信先:<[email protected]>

250 メールOK

>>> データ

354 データは <CR><LF> で終了します。<CR><LF>

>>> .

250 メール OK が smtp2 としてキューに入れられました、DNGowADH53eJp5BbGYUHAA--.2S2 1536206732

>>> 終了

221 さようなら

ついに成功しました! ! ! !

注: 遭遇した問題が解決できるかどうかに関わらず、お互いにコミュニケーションを取り、一緒に改善していくことを歓迎します。

以下もご興味があるかもしれません:
  • Alibaba Cloud CentOS Linuxサーバー上にpostfixを使ってメールサーバーを構築する方法の詳しい説明
  • CentOSは電子メールを送信するためにmuttとmsmtpを設定します
  • CentOS 7.2 でメール サーバー (Postfix) をインストールして展開する詳細な手順
  • CentOS で Sendmail メール サーバーを構築するための詳細な手順
  • CentOS 7.2 でメールサーバー (Postfix) を導入

<<:  jQueryはシャトルボックス機能を実現する

>>:  Mac OS 10.11 での MySQL 5.7.12 のインストールと設定のチュートリアル

推薦する

近々ブラウザに導入される CSS :is() と :where() の簡単な分析

Safari (Technology Preview 106) および Firefox (バージョン...

IntelliJ IDEA で Java を使用して MySQL データベースに接続する方法の詳細な説明

1. MySQLデータベースをダウンロードし、インストールして設定するダウンロードアドレス: htt...

CSS疑似クラス名を数字で始めないでください

初心者が div+css を開発する場合、.ggg、#ccc などの形式の CSS 疑似クラス名を付...

MySQL InnoDB トランザクション ロック ソースコード分析

目次1. ロックとラッチ2. 繰り返し読み取り3. インサートロックプロセス3.1 ロックモード3....

Dockerの動作モードと原理の詳細な説明

次の図に示すように: 仮想マシンと Docker を使用するとき、「なぜ Docker は VM よ...

Elementのメッセージポップアップウィンドウが繰り返しポップアップする問題の解決

目次1. 使用2. メッセージポップアップウィンドウが繰り返し表示される問題を解決する1. 使用Vu...

CSS での三角形の描画と巧妙な応用例の詳細な説明

鉛Web ページ上の一般的な三角形の一部は、画像やフォント アイコンにする必要なく、CSS を使用し...

MySQL マルチバージョン同時実行制御メカニズム (MVCC) ソースコードの詳細な説明

目次1. はじめに2. MVCC (マルチバージョン同時実行制御メカニズム) 2.1 繰り返し読み取...

Vue モバイル開発で better-scroll を使用するときにクリック イベントが失敗する問題の解決策

最近、モバイル プロジェクトの開発方法を学ぶために vue を使用し、スクロールには better-...

Docker で MySQL クラスターを構築する方法の例

Docker の基本的な手順:アップデートパッケージ yum -y アップデートDocker仮想マシ...

CSS3はキングをマッチングさせるときにパーティクルアニメーション効果を実現します

コーディングをしていると、多くのことが同じ結末を迎えることに気づくでしょう。問題を解決する方法は何千...

HTML での位置の使用に関する簡単な紹介

昨日 HTML を少し学んだばかりで、JD.com の検索バーを作るのが待ちきれませんでした。 作っ...

div 要素に終了タグがないため、Web ページを開くことができません

最初は速度の問題だと思ったので、その後、すべての画像リンク リクエストをクロスサイト接続ではなくサイ...

フロントエンドはJavaScriptを通じてCADグラフィックスの詳細を作成および変更します。

目次1. 現状2. JSでCADグラフィックを作成および変更する2.1 サポートされているCADエン...

TortoiseSvn Little Turtle インストール 最新の詳細なグラフィックチュートリアル

tortoiseGit のインストール時にいつも問題があったので、単純に svn に変更しました。途...