web-dev-qa-db-ja.com

Rubyのメールgemを使用してsmtp経由で電子メールを送信する方法

Ruby https://github.com/mikel/mailmail gemを使用しています

Smtpサーバー経由でメールを送信するにはどうすればよいですか?アドレスとポートを指定するにはどうすればよいですか?また、Gmailにはどの設定を使用する必要がありますか?

GithubのREADMEは、ローカルサーバーによる送信の例を示しています。

41
Colonel Panic

から http://lindsaar.net/2010/3/15/how_to_use_mail_and_actionmailer_3_with_gmail_smtp

GMail経由で送信するには、Mail::SMTPクラスに正しい値を設定する必要があります。これを試すには、IRBを開いて次のように入力します。

require 'mail'

options = { :address              => "smtp.gmail.com",
            :port                 => 587,
            :domain               => 'your.Host.name',
            :user_name            => '<username>',
            :password             => '<password>',
            :authentication       => 'plain',
            :enable_starttls_auto => true  }



Mail.defaults do
  delivery_method :smtp, options
end

最後のブロックはMail.defaultsを呼び出します。これにより、今後作成されるすべてのメールオブジェクトのグローバル配信方法を設定できます。パワーユーザーのヒント、グローバルメソッドを使用する必要はありません。個々のMail::Messageオブジェクトでdelivery_methodを直接定義し、メールごとに異なる配信エージェントを使用できます。これは、複数のメールを処理するサーバーが異なるユーザー。

Mail.deliver do
       to '[email protected]'
     from '[email protected]'
  subject 'testing sendmail'
     body 'testing sendmail'
end
96
Simone Carletti