2013-04-26 2 views
0

Я не могу отправить электронную почту с localhost. Вот мой код. Сначала я создавал почтовый пользователь UserMailer. enviroment.rb:Ruby On Rails.Как отправить письмо?

config.action_mailer.delivery_method = :smtp 

config.action_mailer.smtp_settings = { 
:adress => '[email protected]', 
:port => 25, 
:authentication => :login, 
:user_name => 'johnoggy3010', 
:password => 'secret' 
} 

отправители/user_mailer:

class UserMailer < ActionMailer::Base 

def mail(user) 
rexipients '[email protected]' 
from '[email protected]' 
subject = "Hi" 
body :user => user 
end 
end 

мой контроллер:

UserMailer.deliver_mail(params[:name]) 

и шаблон в user_mailer/welcome_email.html.erb:

<h1>Welcome to example.com,<%= user %> </h1> 

Но с omthing не так, и я не знаю, что exacally ...

+1

Я, конечно, тоже не знаю. Можете ли вы опубликовать то, что видите, когда отправляете электронное письмо (сообщение об ошибке, неверное письмо, другое)? Кстати, «rexipients» - это не то, как вы пишете «получателей» ... – PinnyM

+0

Я не вижу ошибок ... –

+0

Так что же вы видите, что вы думаете, что что-то не так? – PinnyM

ответ

1

сделать ваш настройки correct.Here код для использования протокола SMTP в Gmail:

config.action_mailer.raise_delivery_errors = true 
    config.action_mailer.default_url_options = { :host => 'your host' } 
    config.action_mailer.delivery_method = :smtp 
    config.action_mailer.smtp_settings = { 
    :address  => 'smtp.gmail.com', 
    :port   => '587', 
    :authentication => :plain, 
    :user_name  => 'your full email addess like [email protected]', 
    :password  => 'your account password', 
    :domain   => 'your domain' 
    } 

В вашем development.rb написать эту следующую строку, чтобы увидеть если есть какая-либо ошибка происходит:

config.action_mailer.raise_delivery_errors = true 

в вашей почтовой программе первой попытки отправить эту простую электронную почту:

def deliver_oggymail()  
    mail(:to => "[email protected]", :subject => ="hi") 
    end 

В вашем контроллере

UserMailer.deliver_oggymail().deliver 
+0

Все настройки выполнены правильно. Не вижу ошибок на дисплее и журналов. Но он по-прежнему не работает ... –

+1

Вы не видите никаких ошибок доставки? вы получили почту в своем почтовом ящике? Вы должны сказать что-то о своей ошибке, если ее невозможно решить. Добавьте последнюю строку в свой файл development.rb и перезапустите свой сервер и попробуйте отправить и просмотреть свои журналы. – user2323194

+0

Я перезагружаю сервер и повторю попытку, но до сих пор не вижу ошибок в журналах. И письмо не было отправлено ... –

Смежные вопросы