Alternatively, instead of using the Delayed::Mailer gem, you can
quite easily implement and use your own ActionMailer "delivery method",
one that...
- intercepts mail delivery from ActionMailer
- stores the email in a table (optional)
- creates a Delayed::Job that references the stored email
- delivers the stored email when the delayed job is executed
Do something along the lines of:
# in config/application.rb
ActionMailer::Base.add_delivery_method :queued, Mail::QueuedDelivery
# in config/environment.rb (or one of the config/environments/*.rb files)
config.action_mailer.delivery_method = :queued # ie. Mail::QueuedDelivery
# in lib/mail/queued_delivery.rb
module Mail
class QueuedDelivery
def initialize(values = {})
# (optional)
end
def deliver!(mail)
email = Email.create!(:delivery_handler => mail.delivery_handler.name, :message => mail.to_s)
Delayed::Job.enqueue Jobs::Email::DeliverEmail.new(email.id)
end
end # class QueueDelivery
end # module Mail
The Delayed::Job you need to implement would then...
- retrieve the stored email from the database --
email = ::Email.find_by_id(email_id)
- deliver the email via the mail gem --
Mail::Message.new(email.message).deliver
分享到:
相关推荐
Sets the name you want to specify for the recipients, sets the email names of the sender – it may be different from your specified profile email address. put_strSubject Sets the subject of the ...
标题 "Some java code for sending email" 提供的信息表明,这个压缩包包含了一些用Java语言编写的用于发送电子邮件的代码。描述中的"send me email at : sunjunbin@gmail.com"是作者提供的一种方式,如果你对这些...
NULL 博文链接:https://sap.iteye.com/blog/832453
在给定的标题和描述中提到的"Visual Basic code for Sending email using MAPI control",涉及到的是使用VB通过MAPI(Messaging Application Programming Interface)控件来发送电子邮件的技术。 MAPI是一种在操作...
在本例中,我们主要关注使用`IMAPI`进行IMAP操作,因为标题提到了`email`、`imap`和`imapi`。 在C#中,由于.NET Framework没有内置对`MAPI`的直接支持,我们需要使用COM Interop来调用Windows的`MAPI`服务。`...
Email Sending Failed(解决方案).md
Java Sending Email, java Tutorial
标题中的“这是一款完整的Visual Basic电子邮件发送客户端”表明这是一个使用Visual Basic编程语言开发的应用程序,其功能是允许用户发送电子邮件。在IT领域,这通常涉及到SMTP(Simple Mail Transfer Protocol)...
什么是CodeIgniter ... 它的目标是通过提供一组用于执行常见任务的库以及一个简单的界面和逻辑结构来访问这些库,从而使您比从头开始编写代码时更快地开发项目。 CodeIgniter使您可以最大限度地减少给定任务所需的代码...
使用 MailGun 发送电子邮件 ...git clone https://github.com/Nishkarsh01/Sending-Email-with-MailGun.git 用法 npm install node mail.js 合作 如需合作,请通过我 进一步帮助 有关更多信息,您可以查看:打开
然而,一些用户在尝试一键boot时可能会遇到“sending boot FAILED”这样的错误,导致刷机过程无法正常进行,窗口瞬间关闭。这通常是由于设备与计算机之间的通信问题,或者是bootloader加载失败所引起的。 为了解决...
【标题】中的“基于C#+ASP.NET实现的Email Sending Web Service服务程序源码”表明了这是一个使用C#编程语言和ASP.NET框架开发的Web服务应用,其主要功能是发送电子邮件。在IT领域,Web服务是一种通过HTTP协议进行...
【标题】"Node.js 发送电子邮件项目"是一个利用Node.js平台和相关库实现电子邮件发送功能的应用实例。在Node.js环境中,我们通常会使用诸如Nodemailer这样的库来处理邮件发送任务,因为它提供了简单且灵活的方式来...
项目中的"Sending-Email-Using-Node.js-master"可能包含了整个项目的所有源代码,包括Express应用的路由、控制器、模板文件以及Nodemailer的配置和邮件发送逻辑。 总的来说,这个项目提供了一种使用Node.js、...
from mail_sending_program import Mail # 创建邮件对象 mail = Mail(smtp_server='smtp.example.com', port=587, username='your_email@example.com', password='your_password') # 设置邮件内容 mail.sender = '...
from mail_sending_program import MailSender sender = MailSender(smtp_server="smtp.example.com", port=587, username="user@example.com", password="password") receiver = "recipient@example.com" subject ...
print "Error sending email: $@\n"; } else { print "Email sent successfully!\n"; } ``` 除了`Mail::Sender`,Perl还有其他一些邮件发送模块,如`Email::Sender`,它提供了更高级的功能和更灵活的配置选项。`...
$mail->setFrom('from@example.com', 'Mailer'); $mail->addAddress('to@example.com', 'Receiver'); $mail->Subject = 'Test Email'; $mail->Body = 'This is the email body in plain text.'; if(!$mail->send())...
通过一个实例给大家分享了MySQL Sending data表查询慢问题解决办法。 最近在代码优化中,发现了一条sql语句非常的慢,于是就用各种方法进行排查,最后终于找到了原因。 一、事故现场 SELECT og.goods_barcode, og....
### Oracle 10g 提示 java.lang.Exception: Exception in sending Request :: null 解决方案 在使用Oracle 10g的过程中,部分用户可能会遇到一个特定的问题:在登录企业管理器(Enterprise Manager, EM)时,系统会...