Test with web hosting email account - toge510/homelab GitHub Wiki

  • 個人ブログのため、レンタルサーバーxserverを借りている。
  • Xserverメールアカウントを使用して、メールを送受信してみる。

メールソフト ThunderBirdを使用する場合

Xserverのメールアカウント設定 > メールソフト設定から、メールソフトの設定に必要な以下項目を確認できる。

  • 設定対象ドメイン: test.net
  • POPサーバー: h8888.xserver.jp
  • SMTPサーバー: h8888.xserver.jp
  • ユーザー名(アカウント名): [email protected]
  • パスワード: password

これら情報をThunderBirdで登録する。

これで、普通に、メールアドレス:[email protected]を使用して、メールの送受信が可能。

  • 送信: h8888.xserver.jp:465にSMTPプロトコルで接続して、メールを送信。
  • 受信: h8888.xserver.jp:995とPOPプロトコルで接続して、user宛てのメールディレクトリから、メールをダウンロードして受信。

Linuxコマンドを使用する場合

上記のことを、Linuxコマンドでやってみる。環境はUbuntu.22.04.

送信

OpenSSLコマンドラインツールを使用して、指定されたホストとポートに対してSSL/TLS接続を確立する。

このサイト(TEST SMTP WITH TELNET OR OPENSSL)の通りにやると出来た。

openssl s_client -connect h8888.xserver.jp:465

以下のようなログが表示される。

  • 接続の確立(CONNECTED):

    CONNECTED(00000003)

    OpenSSLがSMTPサーバー(sv2208.xserver.jp)のポート465に接続。

  • 証明書の検証:

    verify return:1

  • TLSハンドシェイク:

    SSL handshake has read 5224 bytes and written 445 bytes
    Verification: OK
    

    TLSのハンドシェイクが成功し、通信が暗号化されている。

これより、メール送信のコマンドをインタラクティグに入力していく。

SMTPの認証に関しては、BASE64エンコードされた文字列をサーバーに送信する必要がある。   ユーザー名([email protected])とパスワード(password)を区切るためヌルバイト(\0)を使用する。

echo -ne "\[email protected]\0password" | base64

上記出力結果を以下のように入力して、認証する。

auth plain AHVzZXJAdGVzdC5uZXQAcGFzc3dvcmQ=のように入力する必要がある。

メール送信の流れは以下。

ehlo test.net
250-h8888.xserver.jp
250-PIPELINING
250-SIZE 102400000
250-ETRN
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
auth plain AHVzZXJAdGVzdC5uZXQAcGFzc3dvcmQ=
235 2.7.0 Authentication successful
mail from: [email protected]
250 2.1.0 Ok
rcpt to: [email protected]
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
from: [email protected]
Subject: Test message
Hi, this is a test message.
best,
user
.
250 2.0.0 Ok: queued as F1D30F02235FB3
quit
221 2.0.0 Bye
closed

これで、testtest@gmail宛に、[email protected]からメールが届いているはず。

受信

準備として、postfixのmailboxを変更。

sudo postconf -e 'home_mailbox = Maildir/'
sudo systemctl restart postfix

Fetchmailを使用する。

Fetchmail is a relatively simple program that downloads email from another server using the POP3 or IMAP protocol and delivers it to a mailbox on your system.

homeディレクトリに、.fetchmailrc作成

poll h8888.xserver.jp
protocol pop3
username "[email protected]"
password "password"
is "localuser"
fetchmail -v

メール確認

cat /home/localuser/Maildir/new/170073?????????

メモ

MXレコードは送信者がメールを送信する際に、受信者のメールサーバー(SMTPサーバー)を知るために利用されます。以下は、メールが送信される際の基本的な流れです:

  • 送信者のメールサーバー(MTA)は、メールを送信する際に宛先のメールサーバーを知る必要があります。
  • 送信者のメールサーバーは、宛先のドメインのMXレコードをDNSから取得します。
  • MXレコードには、メールを受信するための優先度とホスト名(メールサーバーのアドレス)が含まれています。
  • 送信者のメールサーバーは、MXレコードに基づいて相手方のメールサーバーにSMTP接続を確立し、メールを転送します。
⚠️ **GitHub.com Fallback** ⚠️