Почта не отправлена: sendgrid на героку с помощью Ruby on Rails - PullRequest
4 голосов
/ 02 ноября 2011

Я пытаюсь отправить почту с ruby ​​на приложение rails на heroku через sendgrid. Это отдельное приложение, которое только пытается отправить тестовое электронное письмо. Я не получаю ошибок, но почта не отправляется. Ваша помощь приветствуется.

== config/environment.rb === 
    ActionMailer::Base.smtp_settings = { 
    :user_name => ENV['SENDGRID_USERNAME'], 
    :password => ENV['SENDGRID_PASSWORD'], 
    :domain => ENV['SENDGRID_DOMAIN'], 
    :address => "smtp.sendgrid.net", 
    :port => 587, 
    :authentication => :plain, 
} 
===

==== config/environments/production.rb === 
    config.action_mailer.delivery_method = :smtp 
    config.action_mailer.raise_delivery_errors = true 
=====

== app/models/notifier.rb == 
    class Notifier < ActionMailer::Base

    include SendGrid 

    default from: "abc@yahoo.com" 
    #sendgrid_category :use_subject_lines 
    #sengrid_enable :ganalytics, :opentrack

    def test_notification 
      mail(:to => "xyz@gmail.com", :subject => "mail from heroku") 
      puts("Sent mail from notifier") 
   end 

   end 
======== 

Я попытался запустить метод test_notification из консоли heroku

>> Notifier.test_notification 

(выводится некоторая информация журнала ..)

#<Mail:Message:279922420, Multipart: false, Headers: <from.., To, Subject, etc). 

Но send_grid не сообщает ни о каких письмах, отправленных с моего аккаунта. Я не получаю электронное письмо.

Я также пытался отправить почту другим способом, вызвав test_notification из / home / index / controller, который будет отправлен при посещении домашней страницы приложения.

=== 
class HomeController < ApplicationController 
def index 
Notifier.test_notification() 
end

end

===

Статистика также не сообщает о том, что письмо отправлено. Любая помощь с благодарностью.

Спасибо! DS

Ответы [ 2 ]

6 голосов
/ 02 ноября 2011

try

Notifier.test_notification.deliver

вам нужно вызвать метод deliver в вашем методе для фактической отправки сообщения.

http://guides.rubyonrails.org/action_mailer_basics.html

0 голосов
/ 18 июня 2015

Убедитесь, что у вас есть дополнение SendGrid к вашему Heroku. Для кода

user_name => ENV['SENDGRID_USERNAME'], 
:password => ENV['SENDGRID_PASSWORD'], 
:domain => ENV['SENDGRID_DOMAIN'], 

данные должны содержать имя пользователя, пароль и домен sendgrid

...