我们使用SMTP发送我们的电子邮件从我的网站。使用Email::Sender::Transport::SMTP电子邮件::MIME构建,然后将其传递给我们的服务器,以便发送:
my $transport = Email::Sender::Transport::SMTP->new({
host => 'smtp.gmail.com',
port => 465,
ssl => 1,
sasl_username => 'hello@foo.com',
sasl_password => 'xxxx'
});
sendmail($email,{ to => ['andy@foo.com'] });我的问题是它太慢了!(每封电子邮件至少需要4-5秒,如果您向客户发送一封电子邮件+给我们(管理员)一封电子邮件,则为10秒。我们一直让人们认为这个网站好像挂着了。
那么,我的问题--如何发送SMTP电子邮件,而不需要挂起Perl脚本?我真的不关心抓错。主要的问题是尽快把邮件发出去。
谢谢
发布于 2020-04-23 12:55:36
显而易见的方法是不实际发送来自web应用程序的电子邮件。相反,将有关电子邮件的信息写入作业队列中,并有另一个任务(可能从cron运行)查看该队列并发送任何需要发送的电子邮件。这样,网页立即返回,用户在几分钟内收到他们的邮件。
上一次我尝试这样的方法时,施瓦茨是最推荐的作业队列管理器之一。现在有可能有人会推荐一些东西。
https://stackoverflow.com/questions/61386967
复制相似问题