2019年10月4日金曜日

awsのSESを使ってメール送信時に送信先の名称を入れる方法


送信先の名称とは?
以下のように、「From」のところにメールアドレスと一緒に表示された名前のことです。例:Apple
AWSのSESを使ってメール送信時に送信先名の設定欄がないようで、どこから設定できるかなっで結構探しました。
結局「From」のところに、以下のような形式で入れればうまく解釈してくれるらしいです。

送信先名称 <送信先のメアド>
例:HOGE株式会社 <info@hogehoge.example.com>

beegoのローカル開発環境でsslを使う方法

自己証明書を作成

  • プライベートキーを作成
$ openssl genrsa -out private_key 2048
Generating RSA private key, 2048 bit long modulus
...........................................+++
...........................+++
e is 65537 (0x10001)
  • パブリックキーを作成
$ openssl req -new -x509 -key private_key -out public_key -days 365
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) []:jp
State or Province Name (full name) []:tokyo
Locality Name (eg, city) []:tokyo
Organization Name (eg, company) []:dmm.com
Organizational Unit Name (eg, section) []:dmm.com
Common Name (eg, fully qualified host name) []:test.dmm.com
Email Address []:test@dmm.com

sslを有効にするため、設定ファイル(app.con)に情報を追加

設定ファイル(./conf/app.conf)に、以下の情報を追加します。
EnableHTTPS = true
HTTPSPort = 443
HTTPSCertFile = "./local_cert/public_key" # 前のステップで作ったパブリックキーのファイルのフルパスを入れる。 自分の場合は「プロジェクトのパス/local_cert/」の直下に置いたのでそのような設定
HTTPSKeyFile = "./local_cert/private_key" # 前のステップで作ったプライベートキーのファイルのフルパスを入れる

beeコマンドで再起動

bee runコマンドで再起動します。以下のような情報が表示されるはずです。
$ bee run
______
| ___ \
| |_/ /  ___   ___
| ___ \ / _ \ / _ \
| |_/ /|  __/|  __/
\____/  \___| \___| v1.10.0
2019/10/03 15:41:27 INFO     ▶ 0001 Using 'example-web' as 'appname'
2019/10/03 15:41:27 INFO     ▶ 0002 Initializing watcher...
2019/10/03 15:41:34 SUCCESS ▶ 0003 Built Successfully!
2019/10/03 15:41:34 INFO     ▶ 0004 Restarting 'magazine-front'...
2019/10/03 15:41:34 SUCCESS ▶ 0005 './magazine-front' is running...
2019/10/03 15:41:34.828 [I] [asm_amd64.s:1337]  http server Running on http://:8080
2019/10/03 15:41:34.829 [I] [asm_amd64.s:1337]  https server Running on https://:443
2019/10/03 15:42:06.284 [server.go:3010]  [HTTP] http: TLS handshake error from 127.0.0.1:56856: remote error: tls: unknown certificate
2019/10/03 15:42:09.062 [server.go:3010]  [HTTP] http: TLS handshake error from 127.0.0.1:56881: remote error: tls: unknown certificate

ブラウザーでsslページの動作を確認

最後ブラウザーに「https://127.0.0.1」を入れて、動作を確認します。「この接続ではプライバシーが保護されません...」が表示されたら、「詳細設定」/「127.0.0.1 にアクセスする(安全ではありません)」の順に進めます。

2019年10月2日水曜日

awsコマンドで入力した文字列をs3のオブジェクトと保存

表題の通りに、awsコマンドを使って文字列をs3のオブジェクトとして保存したいです。
例えバケット名はexample、保存するオブジェクトの名前hoge.txtの場合:
echo "保存したい文字列" | aws s3 cp - s3://example/hoge.txt