未経験でIT業界に転向したやつは、自分でメールサーバ立てずにサーバレスでできないかと背伸びする(した) #前編

未経験でIT業界に転向したやつは、自分でメールサーバ立てずにサーバレスでできないかと背伸びする(した) #前編:


経緯

2017年1月でIT業界に入ってから2年が経ち、今までの手探りで

解決できてこなかったところを解決しようと思い至りました。


経歴

  1. [航空機専門商社で社長秘書]
  2. [鉱山で発破屋]
  3. [アメリカで飲食起業]
  4. [日本でIT起業] <-(イマココ)
IT業界は2017年1月、プログラミングスクールに通ったのが最初で知識はほぼゼロ。

ネットサーフィンでHTMLとかを聞いたことがある程度。

就職して経験を積むというプロセスなしにそのまま友人と起業してCTO()を名乗る。

Rubyなどの言語が全く身につかず嫌いになり、AWSやインフラに愛しさを覚える。

聞ける人がいない中での手探りによる独自の進化(ゴリ押し)を遂げた。


注意!!!

今回の記事は初学者向け、もしくは自分のようなアドバイスがなくて解決方法を模索している方が対象です。周りに正しい知識や経験を聞ける方や、経験の長い皆様は「ほーん、こんな奴もいるんだ」程度で認識していただけると幸いです。


やりたかったこと


要望:

  • 会社HPにコンタクトフォームをつける
  • メールを会社ドメインで送るべ
  • スタートアップだしお金かけたくないよ


自分のレベル:

  • 会社ページは[ S3 ]で作っていたから、サーバいじれなくね?
  • メールってそもそもどうやって使えるようになるん?
  • 調べたけど、自分でメールサーバ立てたら絶対管理できん!!
  • そもそもメールサーバわけわかんね...


失敗の積み重ね


SendGridいいよ?
=> 送るはできたけど、結局受信ってどうやるん?

出来上がったのは、見た目だけの動きもしないコンタクトフォーム


Postfixやったれ!
=> 設定を拾ってくるも結局どこまでうまくいってるかもわからず。

初心者には余りにもセキュリティ、時間、学習コスト全てが見合わない...


結局は [SendGrid + Zapir] というので一旦受信はできたから放置へ


今回やったこと

メールの送受信を(従業員全体が)使い慣れているGmailでできるようにする

前提条件:

Route53に使用するドメインの設定がされていること

作業内容:

#前編   <- (今回はこれ) 
 
1. AWSでSESの設定をする 
  1. 送信の設定に使うメールアドレスの登録 
  2. 送受信の設定に使うドメインの登録 
  3. IAMユーザ作成 
  4. メールの受信用S3バケットの作成、設定 
  5. Gmailでの送信設定 
#後編

  1. SESの送信制限の解除

    1. 現状の確認
    2. サポートから内容を申請
  2. 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: 送信の設定に使うメールアドレスの登録

まずは画面右上のリージョンをオレゴンに設定します



1-1-1.jpg


次に画面左上サービスから[ SES ]を選択します



1-1-2.jpg


SESのコンソール画面に入ったら、サイドバー[ Email Address ]から[ Verify a new Email Address ] のボタンを押します



1-1-3.jpg


受信に利用したいメールアドレスを入力します



1-1-4.jpg


Gmailでメールが届いていることを確認し、文章内のURLをクリックします



1-1-6.jpg


Congratulations!!

おpめでとうございます、ということで一先ず[ SES ]からこのGmailアドレスのメールを送れるようになりました。



1-1-7.jpg



1-2: 送受信の設定に使うドメインの登録

今度は使用するドメインの設定を行います

サイドバー[ Domains ]から[ Verify a New Domain ]をクリックします



1-2-1.jpg


使用する[ Route53 ]に設定済みのドメインを記入し、

下にある[ Generate DKIM Settings ]のチェックを入れてから

[Verify This Domain]をクリックします。



1-2-2.jpg


画面いっぱいに設定データが表示されます



1-2-3.jpg


画面をスクロールし、下部の[ Use Route53 ]をクリックします



1-2-4.jpg


各所項目からどれを[ Route53 ]に設定するか選びます

今回は受信も行うので、全てのチェックボックスをオンにします



1-2-5.jpg


最後にドメインが表示され、全ての項目が緑色になれば完了です



1-2-6.jpg




1-2-7.jpg



1-3: IAMユーザ作成

引き続き[ SES ]のコンソール画面です

サイドバー[ SMTP Settings ]から[ Create My SMTP Credentials ]をクリックします



1-3-1.jpg


画面が自動で遷移し、ユーザ名が自動で生成されます

ここはご自身でお好きに変えてください

[ 作成 ]をクリックします



1-3-2.png


作成を押すと[ 認証情報のダウンロード ]という部分をクリックし、ファイルをダウンロードしましょう

ブラウザはFirefoxなのでダウンロードの表示がありますが、Chromeでは勝手に保存されます



1-3-3.jpg


終わったら[ SES ]の画面に戻りましょう

再びサイドバー[ SMTP Settings ]を押すと、SMTPの設定項目があるのでメモしておきましょう



1-3-4.jpg



1-4. メールの受信用S3バケットの作成、設定

メールの使用には、メールを一旦受信して確認する作業が必要なので、受信の設定を行います

サイドバー[ Rule Sets ]から[ Create a Receipt Rule]をクリック



1-4-1.jpg


使いたいメールアドレスを設定して[ Next Step ]をクリックします



1-4-2.jpg




1-4-3.jpg


次の[ Actions ] の項目で、受信先の設定を行います

[ Select an action type ]から[ S3 ]をクリックします



1-4-4.jpg


SESのメール受信用のバケットを作成します

[ S3 bucket ]から[ Create S3 bucket ]をクリックします



1-4-5.jpg


バケット名を入力し[ Create Bucket ]をクリックします
この時、バケット名は世界で一つだけのもの(一意)である必要があります



1-4-6.jpg


プレフィックスとして[ mails ]と入力し[ Next Step ]をクリックします



1-4-7.jpg


最後に受信ルールの名前を設定して完了です

ここは基本的に弄らなくて大丈夫です



1-4-8.jpg


確認画面になるので項目をチェックして先に進みます



1-4-9.jpg


作成できたか、SESのコンソール画面で確認できます



1-4-10.jpg


最後にバケットが作成されたことを確認します

画面左上[ サービス ]から[ S3 ]を選択します



1-4-11.jpg


バケットが作成されていることが確認できました



1-4-12.jpg


プレフィックスに設定したディレクトリもありますね



1-4-13.jpg



1-5. Gmailでの送信設定

今度はGmailに移動します

1-5-1.jpg

Gmailコンソール画面右上の歯車をクリックし[ 設定 ]に進みます



1-5-2.jpg


タブ[ アカウントとインポート ]から[ 他のメールアドレスを追加 ]をクリックします



1-5-3.jpg


設定するメールアドレスの名前とメールアドレスを設定します
e.g.

名前: nago3

メールアドレス: nago3@hogehoge.com


1-5-4.jpg


先ほどメモした内容と、IAMユーザを作った時の情報を記入します



1-5-5.jpg


ユーザ名とパスワードは、IAMユーザのダウンロードした情報の中に入っていますので確認しましょう



1-5-6.jpg


設定が間違っていなければ、この画面になります



1-5-7.jpg


今度は[ S3 ]に移動して、メールの受信を確認します

先ほどのS3コンソールから、mailsのディレクトリに進みましょう

初期で生成されるファイルの他に、暗号化されたファイルが存在するはずです



1-5-8.jpg


暗号化されたファイルをダウンロードしましょう



1-5-9.jpg


自分はMacPCに最初から入っている[ TextEdit ]を用いました

それぞれお好みのものをお使いください



1-5-10.jpg


ファイルの中身を見ると、暗号化されていることがわかります

一番下までスクロールすると以下の画面になります

赤で囲ってある部分が暗号化された本文です。



1-5-11.jpg


暗号が[ base64 ]でエンコードされていると書いてあるので、デコードしましょう

今回はこちらのサイト様を使わせていただきました

https://tool-taro.com/base64_decode/



1-5-12.jpg


表示された指示に従ってURLを新しいタブで開くと下の画面になります

メールアドレスに間違いがないことを確認したら[ 確認 ]をクリックしましょう



1-5-13.jpg


あめでとうございます!

これでGmailから送信できるようになりました



1-5-14.jpg


Gmailの設定を確認してみましょう

確かに新しい送信アドレスが追加されていますね



1-5-15.jpg


メールの送信方法は以下の通りです

メールフォームの中に[ From ]の選択肢が増えて、設定したメールアドレスが使えるようになっています!



1-5-16.jpg


以上で前半の作業は終了です、お疲れ様でした!


中継ぎとして

ここまでお付き合いいただき、ありがとうございました。

今回はここまでを前半とします。

まだこれだけでは他のメールアドレスに送れない状態になっています

その解決や、Gmailで受信する方法など、引き続き書いていきます。

「業界未経験がメールサーバを立てるまで」なんてできたらよかったんですが、

流石に2年も経つと未経験というのも変だったので、自分の立ち位置に迷っているところです。

アドバイスや意見、感想などございましたら連絡をお待ちしております。

コメント

このブログの人気の投稿

投稿時間:2021-06-17 22:08:45 RSSフィード2021-06-17 22:00 分まとめ(2089件)

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2021-06-17 05:05:34 RSSフィード2021-06-17 05:00 分まとめ(1274件)