未経験でIT業界に転向したやつは、自分でメールサーバ立てずにサーバレスでできないかと背伸びする(した) #前編
未経験でIT業界に転向したやつは、自分でメールサーバ立てずにサーバレスでできないかと背伸びする(した) #前編:
2017年1月でIT業界に入ってから2年が経ち、今までの手探りで
解決できてこなかったところを解決しようと思い至りました。
ネットサーフィンでHTMLとかを聞いたことがある程度。
就職して経験を積むというプロセスなしにそのまま友人と起業してCTO()を名乗る。
Rubyなどの言語が全く身につかず嫌いになり、AWSやインフラに愛しさを覚える。
聞ける人がいない中での手探りによる独自の進化(ゴリ押し)を遂げた。
今回の記事は初学者向け、もしくは自分のようなアドバイスがなくて解決方法を模索している方が対象です。周りに正しい知識や経験を聞ける方や、経験の長い皆様は「ほーん、こんな奴もいるんだ」程度で認識していただけると幸いです。
=> 送るはできたけど、結局受信ってどうやるん?
出来上がったのは、見た目だけの動きもしないコンタクトフォーム
=> 設定を拾ってくるも結局どこまでうまくいってるかもわからず。
初心者には余りにもセキュリティ、時間、学習コスト全てが見合わない...
メールの送受信を(従業員全体が)使い慣れているGmailでできるようにする
前提条件:
Route53に使用するドメインの設定がされていること
作業内容:
#後編
SESとは...
https://docs.aws.amazon.com/ja_jp/ses/latest/DeveloperGuide/Welcome.html
AWSが提供しているマネージドサービス(サーバの管理はAWSがやってくれるサービス)の1つで、
メールサーバを貸してくれる。そんな感じ。
メリット:
まずは画面右上のリージョンをオレゴンに設定します
次に画面左上サービスから[ SES ]を選択します
SESのコンソール画面に入ったら、サイドバー[ Email Address ]から[ Verify a new Email Address ] のボタンを押します
受信に利用したいメールアドレスを入力します
Gmailでメールが届いていることを確認し、文章内のURLをクリックします
Congratulations!!
おpめでとうございます、ということで一先ず[ SES ]からこのGmailアドレスのメールを送れるようになりました。
今度は使用するドメインの設定を行います
サイドバー[ Domains ]から[ Verify a New Domain ]をクリックします
使用する[ Route53 ]に設定済みのドメインを記入し、
下にある[ Generate DKIM Settings ]のチェックを入れてから
[Verify This Domain]をクリックします。
画面いっぱいに設定データが表示されます
画面をスクロールし、下部の[ Use Route53 ]をクリックします
各所項目からどれを[ Route53 ]に設定するか選びます
今回は受信も行うので、全てのチェックボックスをオンにします
最後にドメインが表示され、全ての項目が緑色になれば完了です
引き続き[ SES ]のコンソール画面です
サイドバー[ SMTP Settings ]から[ Create My SMTP Credentials ]をクリックします
画面が自動で遷移し、ユーザ名が自動で生成されます
ここはご自身でお好きに変えてください
[ 作成 ]をクリックします
作成を押すと[ 認証情報のダウンロード ]という部分をクリックし、ファイルをダウンロードしましょう
ブラウザはFirefoxなのでダウンロードの表示がありますが、Chromeでは勝手に保存されます
終わったら[ SES ]の画面に戻りましょう
再びサイドバー[ SMTP Settings ]を押すと、SMTPの設定項目があるのでメモしておきましょう
メールの使用には、メールを一旦受信して確認する作業が必要なので、受信の設定を行います
サイドバー[ Rule Sets ]から[ Create a Receipt Rule]をクリック
使いたいメールアドレスを設定して[ Next Step ]をクリックします
次の[ Actions ] の項目で、受信先の設定を行います
[ Select an action type ]から[ S3 ]をクリックします
SESのメール受信用のバケットを作成します
[ S3 bucket ]から[ Create S3 bucket ]をクリックします
バケット名を入力し[ Create Bucket ]をクリックします
この時、バケット名は世界で一つだけのもの(一意)である必要があります
プレフィックスとして[ mails ]と入力し[ Next Step ]をクリックします
最後に受信ルールの名前を設定して完了です
ここは基本的に弄らなくて大丈夫です
確認画面になるので項目をチェックして先に進みます
作成できたか、SESのコンソール画面で確認できます
最後にバケットが作成されたことを確認します
画面左上[ サービス ]から[ S3 ]を選択します
バケットが作成されていることが確認できました
プレフィックスに設定したディレクトリもありますね
今度はGmailに移動します
Gmailコンソール画面右上の歯車をクリックし[ 設定 ]に進みます
タブ[ アカウントとインポート ]から[ 他のメールアドレスを追加 ]をクリックします
設定するメールアドレスの名前とメールアドレスを設定します
e.g.
先ほどメモした内容と、IAMユーザを作った時の情報を記入します
ユーザ名とパスワードは、IAMユーザのダウンロードした情報の中に入っていますので確認しましょう
設定が間違っていなければ、この画面になります
今度は[ S3 ]に移動して、メールの受信を確認します
先ほどのS3コンソールから、mailsのディレクトリに進みましょう
初期で生成されるファイルの他に、暗号化されたファイルが存在するはずです
暗号化されたファイルをダウンロードしましょう
自分はMacPCに最初から入っている[ TextEdit ]を用いました
それぞれお好みのものをお使いください
ファイルの中身を見ると、暗号化されていることがわかります
一番下までスクロールすると以下の画面になります
赤で囲ってある部分が暗号化された本文です。
暗号が[ base64 ]でエンコードされていると書いてあるので、デコードしましょう
今回はこちらのサイト様を使わせていただきました
https://tool-taro.com/base64_decode/
表示された指示に従ってURLを新しいタブで開くと下の画面になります
メールアドレスに間違いがないことを確認したら[ 確認 ]をクリックしましょう
あめでとうございます!
これでGmailから送信できるようになりました
Gmailの設定を確認してみましょう
確かに新しい送信アドレスが追加されていますね
メールの送信方法は以下の通りです
メールフォームの中に[ From ]の選択肢が増えて、設定したメールアドレスが使えるようになっています!
以上で前半の作業は終了です、お疲れ様でした!
ここまでお付き合いいただき、ありがとうございました。
今回はここまでを前半とします。
まだこれだけでは他のメールアドレスに送れない状態になっています
その解決や、Gmailで受信する方法など、引き続き書いていきます。
「業界未経験がメールサーバを立てるまで」なんてできたらよかったんですが、
流石に2年も経つと未経験というのも変だったので、自分の立ち位置に迷っているところです。
アドバイスや意見、感想などございましたら連絡をお待ちしております。
経緯
2017年1月でIT業界に入ってから2年が経ち、今までの手探りで解決できてこなかったところを解決しようと思い至りました。
経歴
- [航空機専門商社で社長秘書]
- [鉱山で発破屋]
- [アメリカで飲食起業]
- [日本でIT起業] <-(イマココ)
ネットサーフィンでHTMLとかを聞いたことがある程度。
就職して経験を積むというプロセスなしにそのまま友人と起業してCTO()を名乗る。
Rubyなどの言語が全く身につかず嫌いになり、AWSやインフラに愛しさを覚える。
聞ける人がいない中での手探りによる独自の進化(ゴリ押し)を遂げた。
注意!!!
今回の記事は初学者向け、もしくは自分のようなアドバイスがなくて解決方法を模索している方が対象です。周りに正しい知識や経験を聞ける方や、経験の長い皆様は「ほーん、こんな奴もいるんだ」程度で認識していただけると幸いです。
やりたかったこと
要望:
- 会社HPにコンタクトフォームをつける
- メールを会社ドメインで送るべ
- スタートアップだしお金かけたくないよ
自分のレベル:
- 会社ページは[ S3 ]で作っていたから、サーバいじれなくね?
- メールってそもそもどうやって使えるようになるん?
- 調べたけど、自分でメールサーバ立てたら絶対管理できん!!
- そもそもメールサーバわけわかんね...
失敗の積み重ね
SendGridいいよ?
=> 送るはできたけど、結局受信ってどうやるん?出来上がったのは、見た目だけの動きもしないコンタクトフォーム
Postfixやったれ!
=> 設定を拾ってくるも結局どこまでうまくいってるかもわからず。初心者には余りにもセキュリティ、時間、学習コスト全てが見合わない...
結局は [SendGrid + Zapir] というので一旦受信はできたから放置へ
今回やったこと
メールの送受信を(従業員全体が)使い慣れているGmailでできるようにする前提条件:
Route53に使用するドメインの設定がされていること
作業内容:
#前編 <- (今回はこれ) 1. AWSでSESの設定をする 1. 送信の設定に使うメールアドレスの登録 2. 送受信の設定に使うドメインの登録 3. IAMユーザ作成 4. メールの受信用S3バケットの作成、設定 5. Gmailでの送信設定
- SESの送信制限の解除
- 現状の確認
- サポートから内容を申請
- SESで受信した内容をGmailに転送する
1. AWSでSESの設定をする
SESとは...https://docs.aws.amazon.com/ja_jp/ses/latest/DeveloperGuide/Welcome.html
AWSが提供しているマネージドサービス(サーバの管理はAWSがやってくれるサービス)の1つで、
メールサーバを貸してくれる。そんな感じ。
メリット:
- 管理しなくていい
- 送受信の設定を提供してくれているので、やることは少ない
- 日本のキャリアメール(docomo, au, softbankなど)には向かない
- 日本リージョンにはないので、海外のリージョンを使うことになる
1-1: 送信の設定に使うメールアドレスの登録
まずは画面右上のリージョンをオレゴンに設定します次に画面左上サービスから[ SES ]を選択します
SESのコンソール画面に入ったら、サイドバー[ Email Address ]から[ Verify a new Email Address ] のボタンを押します
受信に利用したいメールアドレスを入力します
Gmailでメールが届いていることを確認し、文章内のURLをクリックします
Congratulations!!
おpめでとうございます、ということで一先ず[ SES ]からこのGmailアドレスのメールを送れるようになりました。
1-2: 送受信の設定に使うドメインの登録
今度は使用するドメインの設定を行いますサイドバー[ Domains ]から[ Verify a New Domain ]をクリックします
使用する[ Route53 ]に設定済みのドメインを記入し、
下にある[ Generate DKIM Settings ]のチェックを入れてから
[Verify This Domain]をクリックします。
画面いっぱいに設定データが表示されます
画面をスクロールし、下部の[ Use Route53 ]をクリックします
各所項目からどれを[ Route53 ]に設定するか選びます
今回は受信も行うので、全てのチェックボックスをオンにします
最後にドメインが表示され、全ての項目が緑色になれば完了です
1-3: IAMユーザ作成
引き続き[ SES ]のコンソール画面ですサイドバー[ SMTP Settings ]から[ Create My SMTP Credentials ]をクリックします
画面が自動で遷移し、ユーザ名が自動で生成されます
ここはご自身でお好きに変えてください
[ 作成 ]をクリックします
作成を押すと[ 認証情報のダウンロード ]という部分をクリックし、ファイルをダウンロードしましょう
ブラウザはFirefoxなのでダウンロードの表示がありますが、Chromeでは勝手に保存されます
終わったら[ SES ]の画面に戻りましょう
再びサイドバー[ SMTP Settings ]を押すと、SMTPの設定項目があるのでメモしておきましょう
1-4. メールの受信用S3バケットの作成、設定
メールの使用には、メールを一旦受信して確認する作業が必要なので、受信の設定を行いますサイドバー[ Rule Sets ]から[ Create a Receipt Rule]をクリック
使いたいメールアドレスを設定して[ Next Step ]をクリックします
次の[ Actions ] の項目で、受信先の設定を行います
[ Select an action type ]から[ S3 ]をクリックします
SESのメール受信用のバケットを作成します
[ S3 bucket ]から[ Create S3 bucket ]をクリックします
バケット名を入力し[ Create Bucket ]をクリックします
この時、バケット名は世界で一つだけのもの(一意)である必要があります
プレフィックスとして[ mails ]と入力し[ Next Step ]をクリックします
最後に受信ルールの名前を設定して完了です
ここは基本的に弄らなくて大丈夫です
確認画面になるので項目をチェックして先に進みます
作成できたか、SESのコンソール画面で確認できます
最後にバケットが作成されたことを確認します
画面左上[ サービス ]から[ S3 ]を選択します
バケットが作成されていることが確認できました
プレフィックスに設定したディレクトリもありますね
1-5. Gmailでの送信設定
今度はGmailに移動しますGmailコンソール画面右上の歯車をクリックし[ 設定 ]に進みます
タブ[ アカウントとインポート ]から[ 他のメールアドレスを追加 ]をクリックします
設定するメールアドレスの名前とメールアドレスを設定します
e.g.
名前: nago3
メールアドレス:nago3@hogehoge.com
先ほどメモした内容と、IAMユーザを作った時の情報を記入します
ユーザ名とパスワードは、IAMユーザのダウンロードした情報の中に入っていますので確認しましょう
設定が間違っていなければ、この画面になります
今度は[ S3 ]に移動して、メールの受信を確認します
先ほどのS3コンソールから、mailsのディレクトリに進みましょう
初期で生成されるファイルの他に、暗号化されたファイルが存在するはずです
暗号化されたファイルをダウンロードしましょう
自分はMacPCに最初から入っている[ TextEdit ]を用いました
それぞれお好みのものをお使いください
ファイルの中身を見ると、暗号化されていることがわかります
一番下までスクロールすると以下の画面になります
赤で囲ってある部分が暗号化された本文です。
暗号が[ base64 ]でエンコードされていると書いてあるので、デコードしましょう
今回はこちらのサイト様を使わせていただきました
https://tool-taro.com/base64_decode/
表示された指示に従ってURLを新しいタブで開くと下の画面になります
メールアドレスに間違いがないことを確認したら[ 確認 ]をクリックしましょう
あめでとうございます!
これでGmailから送信できるようになりました
Gmailの設定を確認してみましょう
確かに新しい送信アドレスが追加されていますね
メールの送信方法は以下の通りです
メールフォームの中に[ From ]の選択肢が増えて、設定したメールアドレスが使えるようになっています!
以上で前半の作業は終了です、お疲れ様でした!
中継ぎとして
ここまでお付き合いいただき、ありがとうございました。今回はここまでを前半とします。
まだこれだけでは他のメールアドレスに送れない状態になっています
その解決や、Gmailで受信する方法など、引き続き書いていきます。
「業界未経験がメールサーバを立てるまで」なんてできたらよかったんですが、
流石に2年も経つと未経験というのも変だったので、自分の立ち位置に迷っているところです。
アドバイスや意見、感想などございましたら連絡をお待ちしております。
コメント
コメントを投稿