Edited at

Cloud9でRailsの開発を行っているとメールが失敗する

More than 1 year has passed since last update.


概要

cloud9は無料で好きなだけvm環境を用意できるので気に入って使っています。

しかし、最近思わぬ落とし穴にハマってしまったので覚書きしておきます。


結論

cloud9はGoogle Cloud Engineを利用しており、GCEは現在GMail以外のsmtpサーバとの通信を許可していないそうです。

https://docs.c9.io/discuss/5582e67bea39a939002242a3


cloud9での成功例


GMailを利用する


config/environments/development.rb

  config.action_mailer.delivery_method = :smtp

config.action_mailer.smtp_settings = {
address: ENV['smtp_address'],
port: ENV['smtp_port'],
user_name: ENV['smtp_user_name'],
password: ENV['smtp_password']
}


.env

smtp_address=smtp.gmail.com

smtp_user_name=you@gmail.com
smtp_password=app_password(aaaabbbbccccdddd)
smtp_port=587

https://myaccount.google.com/security

で2段階認証を有効にしてアプリパスワードの項目にて発行した物をパスワードとして使う必要があります。


SMTP2GO

メールが送信できなくて迷走していた際にこちらも送信する事ができました。

手順は公式通りでいけました。

https://www.smtp2go.com/docs/rubyonrails/


cloud9での失敗例

さくらのメールボックスとZohoを利用しての送信は上手くいきませんでした。