Как использовать SendGrid для отправки электронной почты в Rails - PullRequest
0 голосов
/ 13 апреля 2020

У меня проблема с SendGrid и Rails, когда моя электронная почта не приходит.

user_mailer.rb:

class UserMailer < ApplicationMailer
  default from: 'xxxxxxxxxx@gmail.com'
  layout 'mailer'
  def daily_products(user, products)
    @user = user
    @products = products
    mail(to: @user.email, subject: "Los productos top de ayer")
  end
end

Просмотр ежедневных_продуктов. html .erb:

<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8">
</head>
<body>
  <p>Hola,</p>
  <p>Estos fueron los productos más votados el dia de ayer:</p>
  <ol>
    <% @products.each do |product| %>
      <li><%= link_to product.name, product_url(product) %>: <%= product.description %></li>
    <%  end %>
  </ol>
  <p>Esperamos que tengas un dia lleno de productos digitales</p>
</body>
</html>

tasks / email.rake:

namespace :email do
  desc "Sends the most voted products created yesterday"
  task daily_products: :environment do
    UserMailer.daily_products(User.first, Product.all).deliver_now
  end
end

config / initializers / SendGrip.rb:

ActionMailer::Base.smtp_settings = {
  address: 'smtp.sendgrid.net',
  port: 467,
  domain: ENV['HOSTNAME'],
  user_name: ENV['SMTP_USER_NAME'],
  password: ENV['SMTP_API_KEY'],
  authentication: 'plain',
  enable_starttls_auto: true
}

ActionMailer::Base.default_url_options[:host] = ENV["HOSTNAME"]

Когда я выполняю тест, он запускается, однако электронная почта не приходит в учетных записях электронной почты и в журнале SendGrid не отображается никаких ошибок.

Я не знаю, есть ли какая-либо ошибка в каком-либо файле конфигурации, я пробовал много учебных пособий, но ошибка сохраняется.

...