Ich kann nicht scheinen, um die wann immer Edelstein arbeiten mit meinem Actionmailer. Ich versuche, die Anwendung in der Entwicklung auszuführen, in der eine E-Mail zu einer bestimmten Zeit an eine bestimmte Person gesendet wird.Immer wenn Gem Daily E-Mail mit actionmailer nicht senden
In meiner schedule.rb Datei habe ich folgendes:
every :day, :at => '12:48pm' do
runner "FoodPlan.food_email"
end
In meinem Controller food_plans_controller.rb ich genannt habe:
def self.food_email
@food_plans = FoodPlan.where(food_plan_date: Date.today).order('meal ASC')
UserMailer.food_email(@food_plans).deliver_now
end
In user_mailer.rb habe ich (zur Kenntnis nehmen, ich entfernt die E-Mail aus Gründen der Privatsphäre):
def food_email (food)
@food_plans = food
mail(to: '[email protected]', subject: 'Food Orders for #{Date.today}')
end
Ich habe einen Ordner in den Ansichten namens user_mailer,
<!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>
In meiner Entwicklung config (entfernt die E-Mail und Passwort I) Ich habe: im Inneren eine Datei food_email.html.erb mit dem ff genannt ist
config.action_mailer.smtp_settings = {
address: 'smtp.gmail.com',
port: 587,
domain: 'example.com',
user_name: '-------',
password: '-------',
authentication: 'plain',
enable_starttls_auto: true }
ich diese guide versucht haben, zu lesen aber ich kann das Juwel nicht mit actionmailer arbeiten lassen. Ich habe auch auf der documentation der Wann immer Juwel gelesen, aber ich kann immer noch nicht herausfinden, was ich falsch mache. :(
Ich erhalte keine Fehler, es ist nur, dass die E-Mail nicht sendet.
Insbesondere, was nicht funktioniert und welches Problem haben Sie? Erhalten Sie einen Fehler? Wird die E-Mail nicht gesendet, obwohl Sie dies erwarten? –
Die E-Mail wird nicht gesendet. Ich denke nicht, dass es sogar in den Scheduler geht. Ich schaue auf die Protokolle meines Localhost-Terminals und es gibt keine Änderungen an den Protokollen, selbst während der Zeit, die ich im Scheduler angegeben habe. – Acrux