12099


RailsからSendgridでメールを送信しようとしているのですが、正しく送信されません。次のエラーが原因でしょうか？

[code]

    sh: 1: /usr/sbin/sendmail: not found
    
[/code]

config/environments/prduction.rb

[code]

    config.action_mailer.perform_deliveries = true
    config.action_mailer.raise_delivery_errors = false
    config.action_mailer.default_url_options = { :host => '###'}
    config.action_mailer.delivery_method = :smtp
    config.action_mailer.smtp_settings = {
      :address => 'smtp.mandrillapp.com',
      :port => 25,
      :authentication => "login",
      :user_name => '###',
      :password => '###',
      :domain => '###',
      :enable_starttls_auto => true
    }
    
[/code]


CC BY-SA 3.0
2015-07-06T19:00:46.970
12098
2017-01-22T22:42:13.150
2017-01-22T22:42:13.150
8000
8991
question
ruby-on-rails heroku sendmail
Herokuから確認メールを送信することができない


SendGridを使うのであれば、まず使用中のHerokuインスタンスにSendGridアドオンが追加されていることを確認して下さい。

それから smtp_settings のなかに mandrillapp の文字が見えます。MandrillはSendGridとは別のメール送信サービスです。  
SendGridのヘルプページを見て正しい設定を入力して下さい。

<https://devcenter.heroku.com/articles/sendgrid#ruby-rails>

[code]

    ActionMailer::Base.smtp_settings = {
      :address        => 'smtp.sendgrid.net',
      :port           => '587',
      :authentication => :plain,
      :user_name      => ENV['SENDGRID_USERNAME'],
      :password       => ENV['SENDGRID_PASSWORD'],
      :domain         => 'heroku.com',
      :enable_starttls_auto => true
    }
    
[/code]

もしアドオンを使わずにSendGridを外部サービスとして使うのであれば以下のような設定になるかもしれません。（僕は試したことがないですが）

<https://sendgrid.com/docs/Integrate/Frameworks/rubyonrails.html>

[code]

    ActionMailer::Base.smtp_settings = {
      :user_name => 'your_sendgrid_username',
      :password => 'your_sendgrid_password',
      :domain => 'yourdomain.com',
      :address => 'smtp.sendgrid.net',
      :port => 587,
      :authentication => :plain,
      :enable_starttls_auto => true
    }
    
[/code]


CC BY-SA 3.0
2015-07-06T20:07:29.203
12099
2015-07-06T20:07:29.203
85
12098
answer