Я не могу заставить всякий раз, когда драгоценный камень работать с моим actionmailer. Я пытаюсь запустить приложение в разработке, в котором электронное письмо будет отправлено конкретному человеку в определенное время.Всякий раз, когда Gem Daily электронной почты с использованием actionmailer не отправляется
В моем файле schedule.rb я следующее:
every :day, :at => '12:48pm' do
runner "FoodPlan.food_email"
end
В мой контроллер называется food_plans_controller.rb у меня есть:
def self.food_email
@food_plans = FoodPlan.where(food_plan_date: Date.today).order('meal ASC')
UserMailer.food_email(@food_plans).deliver_now
end
В user_mailer.rb у меня есть (обратите внимание, что я удалил письмо по причинам неприкосновенности):
def food_email (food)
@food_plans = food
mail(to: '[email protected]', subject: 'Food Orders for #{Date.today}')
end
У меня есть папка в представлениях user_mailer, внутри него находится файл food_email.html.erb с ФФ:
<!DOCTYPE html>
<html>
</head>
<body>
<h1>title</h1>
<p>
Good morning, -----!
<br><br>
Meal Plans for <%=Date.today%>:
<br><br>
<table class="table table-bordered table-striped">
<thead>
<tr>
<th>#</th>
<th>Meal Plan</th>
<th>Ordered by</th>
<th>Room Number</th>
<th>Received by</th>
<th>Signature</th>
</tr>
</thead>
<tbody>
<%countint=1%>
<% @food_plans.each do |food_plan| %>
<tr>
<td><%=countint%></td>
<td><%= food_plan.meal %></td>
<td><%=food_plan.applicant.first_name%>
<%=food_plan.applicant.last_name%></td>
<td><%=food_plan.applicant.room_number%></td>
<%countint+=1%>
<td></td>
<td></td>
</tr>
<% end %>
</tbody>
</table>
<br>
<br>
---.
<br>
<br>
If you have any concerns, don't hesitate to call us at ------.
<br>
<br>
Thanks, <br>----
</p>
</body>
</html>
В моей конфигурации развития я (я удалил электронную почту и пароль):
config.action_mailer.smtp_settings = {
address: 'smtp.gmail.com',
port: 587,
domain: 'example.com',
user_name: '-------',
password: '-------',
authentication: 'plain',
enable_starttls_auto: true }
Я пытался читать это guide но я все еще не могу заставить драгоценный камень работать с actionmailer. Я также прочитал на documentation каждого драгоценного камня, но я все еще не могу понять, что я делаю неправильно. :(
Я не получаю какие-либо ошибки, то это просто, что электронная почта не посылает.
В частности, что не работает и какая у вас проблема? Вы получаете сообщение об ошибке? Не отправляется ли почта, даже если вы ее ожидаете? –
Электронная почта не отправляется. Я не думаю, что это даже входит в планировщик. Я просматриваю журналы моего локального хост-терминала, и никаких изменений в журналах нет даже в то время, которое я указал в планировщике. – Acrux