skillup

技術ブログ

サーバー・ネットワーク

ドメイン取得とメール送信

投稿日:2020年5月4日 更新日:

現在ではメール配信サービスなどが充実しており、メールサーバーを立てる機会なんぞは少ないかとしれません。

そもそも一般的なレンタルサーバー会社の場合、レジストラとセットになっていることが多いですよね。その場合、ほぼ自動的にメールアドレスが作れるため、その必要性もありません。

ただ、根本を理解しておくのにやっておいて損はないだろうということで書いておきます。

全編を通じてお世話になった参考リンク

CentOSとPostfixを使って送信専用のメールサーバーを構築する方法

CentOS 7 の Postfix で独自ドメインの設定

ドメイン取得

当たり前ですが、独自ドメイン自体を取得する必要がありますので、レジストラで独自ドメインの申請&登録を行います。

DNS登録

以前の記事でも話したようにAレコードとMXレコードを登録します。

例えば独自ドメインをexample.com、サーバーのIPを111.121.122.222で登録したとします。

メールアドレスはhoge@example.comなどと送信することを想定します。

その場合、下記のように登録するケースが一般的ではないでしょうか。

このようにレジストラに登録し、時間がたった後(レジストラによるようです。AWSは一瞬でしたがlolipopはかなり時間がかかりました。)、host -v(ネットワークコマンドで一番詳細な情報が見れるのはこのコマンド+オプションのようです。)で下記のようになっていればOKです。

postfixインストール

前回まででDNS設定ができたらメール送信のためにソフトウェアをインストールします。

まずはpostfixをインストールしましょう。

その後 /etc/postfix/main.cf の下記部分を編集しましょう。

最下部に下記を追加

masquerade_domains = example.com

最低限の場合、上記で動くかと思います。

この後、 postfix check コマンドで何も表示されていなければエラーがないということです。

(*一応、 postconf -n  で意図通りのドメインやホストが設定されているかを確認した方が良いかもしれません。)

この後、 service postfix restart (CentOS6まで) か  systemctl restart postfix (CentOS7) で再起動してあげればOKです。

IP開放

postfixは(実務上は変えた方が本当はいいですが)通常では25番を使用すると思いますので、25番ポートを開放します。

CentOS6

CentOS7

実際にポートが開いているかどうかは下記リンクでテストをしてみると良いです。

https://www.cman.jp/network/support/port.html

テスト送信

上記のようなワンライナーでもメールを送ることができますが、正しく設定していなくても送れてしまうので、メーラーなどから実際に設定して送るのがいいでしょう。

(参考 はじめてのCentOS6 P299以降)

-サーバー・ネットワーク
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

S3 commandPoolについて

S3のcommandPoolに関して。 S3にファイルをアップロード、ダウンロードするときに、1つ1つファイルをアップロード、ダウンロードすることが一般的かと思いますが、ファイル数が多くなるとなかなか …

no image

AWSのSNSについて

AWSについてここ2年ぐらい触っていますが、以前の現場ではリーダーの方が色々やられたおかげで根本的なところが理解できておらず、家でアカウントを作ってコツコツとやってます。 今回はSNSについて。 基本 …

no image

メール送信に関して その2 メールメッセージのデータ形式

前回に引き続き、メールのメッセージ構造について書きたいと思います。 Contents1 大まかな構造2 ヘッダ部2.1 メールアドレス2.2 From/Sender/Reply-To2.3 To/Cc …

no image

ansible rolesなど

ansibleはある程度ファイルが肥大化してくると、管理するのが大変になります。 一般的にはプログラムのようにある程度のまとまりにわけてそれを読み込むということになります。 ある程度のまとまりのことを …

no image

sourceコマンドに関して(Linuxサーバー&MySQL)

Linux上ではコマンドをテキストファイルに記述して、

と入力すると命令を実行してくれます。 シェルスクリプトよりもお手軽に実行できる …