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 のインストールと設定のチュートリアル

推薦する

Vue3 + TypeScript 開発の概要

目次Vue3 + TypeScript 学習1. 環境設定1.1 最新のVue scaffoldin...

Mysql は非集計列を選択できません

1. はじめに最近ブログをアップグレードし、記事ページの下部に前の記事と次の記事に直接ジャンプできる...

JDBCデータベースリンクと関連メソッドのカプセル化の詳細な説明

JDBCデータベースリンクと関連メソッドのカプセル化の詳細な説明MySQL データベースを使用して、...

CSS3 クリックボタン円形進行ティック効果実装コード

目次8. CSS3 クリックボタンの円形進捗チェック効果8.1 画像プレビュー8.2 index.h...

MySQLとRedisでセカンダリキャッシュを実装する方法の詳細な説明

Redis の紹介Redis は完全にオープンソースで無料であり、BSD プロトコルに準拠しており、...

Docker 経由で Spring Boot アプリケーションを公開およびデプロイするプロセスの分析

目次手動展開1.アイデアを使ってSpring Bootプロジェクトを作成する2. プロジェクトをJa...

ウェブサイトのBGM実装方法

個々のウェブマスターにとって、自分のウェブサイトをいかにユニークで個性あふれるものにするかは、常に絶...

Linux システムでのユーザー管理の概要

目次1. ユーザーとユーザーグループの重要性1) ユーザーの存在意義2) ユーザーグループの重要性2...

フロントエンドページのスライド検証を実装するための JavaScript + HTML

この記事では、フロントエンドページのスライド検証を実装するためのJavaScript + HTMLの...

LinuxベースのLVMシームレスディスク水平拡張の詳細な説明

環境名前財産CPU 5650 円メモリ4Gディスク20G+4TB この時点で、サーバーにはすでに次の...

1 つの記事で React における Redux の初期の使用を理解する

Redux はデータ状態管理プラグインです。React や Vue を使用してコンポーネント化された...

Vueは買い物数量を変更できるショッピングカートを実装します

この記事では、Vueを使用してショッピングカートの数量を変更する方法を紹介します。具体的な内容は次の...

Bootstrap 3.0 学習ノート グリッドシステムの原則

前の 2 つの記事の簡単な紹介を通じて、Bootstrap についての基礎的な理解が得られました。 ...

React サーバーサイドレンダリング原則の分析と実践

ほとんどの人は、サーバーサイド レンダリング (SSR と呼んでいます) の概念について聞いたことが...

MySQL のデフォルトのストレージ エンジンを変更する方法

mysql ストレージ エンジン: MySQL サーバーはモジュール スタイルを採用しており、特にス...