Test with web hosting email account - toge510/homelab GitHub Wiki
- 個人ブログのため、レンタルサーバーxserverを借りている。
- Xserverメールアカウントを使用して、メールを送受信してみる。
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コマンドでやってみる。環境は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接続を確立し、メールを転送します。