Я работаю с ruby на rails 5.2, используя actionmailer, и в настоящее время он выбрасывает время выполнения, когда я пытаюсь отправить электронную почту. На Rails 3.2 это на самом деле работало, но в Rails 5.2 есть некоторые изменения, которые не позволяют почтовой программе работать так, как должно.
Я пробовал использовать доставку и доставку! чтобы решить это, но ни одна из этих команд не сработала. Я должен был закомментировать #enable_starttls_auto: true, так как это приводило меня к ошибкам повсюду.
Среда разработки:
#Google apps need to be disabled
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
address: "smtp.gmail.com",
port: 587,
domain: "gmail.com",
authentication: "login",
#enable_starttls_auto: true,
user_name: "myusername",
password: "mypassword"
}
config.action_mailer.default_url_options = { :host => "localhost:3000" }
end
вспомогательный метод для запуска
elsif(type == "verify2")
name_value = params[:session][:name].downcase
email_value = params[:session][:email].downcase
subject_value = params[:session][:subject]
body_value = params[:session][:body]
@name = name_value
@email = email_value
@subject = subject_value
@body = body_value
if(name_value.empty? || email_value.empty? || subject_value.empty? || body_value.empty?)
flash[:error] = "One of the parameters was empty please ensure all are filled in."
else
UserMailer.contact(@name, @email, @subject, @body).deliver_now
flash[:success] = "Your contact info has now been sent."
end
redirect_to root_path
end
Контактный код пользователя:
def contact(name, email, subject, body)
websiteMail = "notification@duelingpets.net"
@name = name
@email = email
@subject = subject
@body = body
mail(to: "contactduelingpets@gmail.com", from: @email, subject: "A new contact was created by #{@name}:[Duelingpets]")
end
Просмотр контактов с Usermailer
<!DOCTYPE html>
<html>
<head>
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type' />
</head>
<body>
<h1>New contact created!</h1>
<p>So this fellow <%= @name %> has taken the time to
contact the admin and provided his email
address: <%= @email %>. He has written a question
that he like to know a bit more about.
</p>
<p>Question: <%= @subject %></p>
<p>Message: <%= @body %></p>
<br>
<p>Please take the time to read over this question
and answer it in your own time. They have decided
to reach out to you.
</p>
<br>
<p>Your friend Glitchy the Dragon</p>
</body>
</html>
Я ожидаю, что администратор должен получать электронные письма от пользователей, которые отправляют в контактные формы, однако вместо этого время истекает.