月額86円で独自ドメイン用のメールサーバを簡単構築する方法

月額86円でWebサービス用のメールサーバを構築する メールサーバ

最近、ドメイン取得してVPSとかAWSでウェブサービスを運用することが多いです。

サービス運用のためにメールの送受信が必要になることがあるのですが、メールサーバの構築・運用は結構面倒くさかったりします。セキュリティやらなにやら気にしないといけないし、落ちると面倒だし。GoogleAppsでも独自ドメイン運用できますが、そこまでやる必要はないし。。と結構メールサーバの運用は面倒です。

で、今回は別の外部のメールサーバを利用することにしました。今回利用したのは、さくらインターネットのさくらのメールボックスです。このさくらのメールボックスを使って、独自ドメインでメールサーバを運用、サービスからもメールが送信できるようにしてみます。

■特徴

以下の様な特徴があると思います。スタートアップのウェブシステムであれば、メールサーバ構築するより、1000円弱払ってさくらインターネットで運用しまったほうが、いろいろ安心だと思います。

・独自ドメインでメールを利用することができる

・gmailなど他のメールアドレスにメールを転送できる。10GBの容量しかないですが、転送してしまえば問題無いです。

・SMTP−AUTHが利用可能。他のVPSなどに乗っているシステム等からメール送信ができる

・やすい(一括 1年で1,029円、月額86円で運用できる)

・セキュリティ対策されている。迷惑メールフィルタやウイルスチェックができる。

 

■独自ドメインの設定方法

さくらインターネットへの契約は完了するものとします。今回は、お名前.comでドメインを取得しています。さくらインターネットでドメインをとっている方は、別の方法になります。

1.さくらインターネットの管理画面からドメインを追加する。

まず、さくらインターネットの管理画面にログインし、左側の【ドメイン設定】をクリック、その後【新しいドメインの追加】をクリックします。

ドメインの追加

 

 

今回ドメインはお名前.comで取得しているので、【5. 他社で取得したドメインを移管せずに使う・属性型JPドメインを使う(さくら管理も含む)】から、【ドメインの追加へ進む】をクリックします。

domain_add

 

 

今回追加するドメインを入力して、送信するを押します。登録を完了させます。

domain_setting

一旦、さくらインターネット側のドメイン設定は完了です。

 

2.さくらインターネットの管理画面からメールアドレスを追加&転送先設定

さくらインターネットの管理画面から、メールアドレスを追加します。さくらインターネットの管理画面の【メールアドレスの管理】をクリックして、メールアドレスの追加のところに作成するメールアドレスとパスワードを設定して、追加します。

mailadd

 

 

作成したら、転送の設定もしてしまいしょう。【メールアドレスの管理】をクリックして、追加したメールアドレスの【変更ボタン】を押します。

setting

 

 

転送先のメールアドレスを追加して、【転送専用にする】のラジオを選択します。ついでに容量を2048MBにすると良いと思います。この容量制限は、環境しだいです。

tensou

これで、さくらインターネットのサーバは設定完了です。

 

3.サーバの情報を確認する

DNSの設定をする前にメールサーバの情報を確認しておきます。左側のメニューの【サーバ情報の表示】を押して、【サーバに関する情報】のリンクを押すと、以下の様な画面になります。

kakunin-

ここで確認しておくのは、【初期ドメイン】と【IPアドレス】の上段のアドレス(IPv4)と下段のアドレス(IPv6)を確認しておいてください。DNSのレコード設定で使います。

4.DNSのレコード設定をする

次にDNSの設定をします。以下の2つのレコードを設定します。

 

■MXレコード
名前 空っぽのまま
種類 MX
値 【さっき確認した初期ドメイン】
優先度 10
TTL 任意

■SPFレコード
名前 空っぽのまま
種類 TXT
値 v=spf1 +ip4:【さっき確認したIPv4のIPアドレス】 +ip6:【さっき確認したIPv6のIPアドレス】 ~all
TTL 任意

これで、作成したメールアドレスで送信・受信をする準備ができました。他のメールアドレスから送信したり、受信したりしてみてください。

 

■CakePHPでこのサーバを経由して送信する設定

CakePHPからこのサーバ経由で送信するためのCakePHPの設定です。app/Config/email.phpに以下を記述します。普通のSMTP-AUTHのサーバと同じですね。

    // さくらインターネット
    public $sakura = array(
        'host' => '【初期ドメインのアドレスを設定】',  // 初期ドメイン
        'port' => 587,
        'username' => '【アドレス】@【独自ドメイン】', // ユーザ名
        'password' => '【設定したパスワード】',           // メールパスワード
        'transport' => 'Smtp',
    );

 

使うときは、この記事を参考にしてみてください。CakeEmailのインスタンス作る時の【gmail】の部分を【sakura】にすれば、送信できます。

サービスが大きくなるまでの間は、これでもいいんじゃないかと思いました。セキュリティを自分で構築するの面倒くさいという方、GoogleApps使う程でもないという方はぜひ。