【问题标题】:I need to build a mass emailing app which sends one email every 7 seconds from the list to avoid emails getting spammed我需要构建一个群发电子邮件应用程序,该应用程序每 7 秒从列表中发送一封电子邮件,以避免电子邮件被垃圾邮件
【发布时间】:2018-10-18 14:33:24
【问题描述】:
<?php

include 'vendor/autoload.php';

//Setup host and Port

$transport = (new Swift_SmtpTransport('smtp.gmail.com',465,'ssl'))
->setUsername('any@any.com')
->setPassword('any')
;



$mailer = new Swift_Mailer($transport);

// Create a message
$message = (new Swift_Message('Test Subject'))
->setFrom(['estesys53@gmail.com' => 'JSebastian Smith'])
->setTo(['any@gmail.com', 'any@any.com', 
's.any@stu.any.edu' => 'Sebastian'])
->setBody('Here is the test message itself')
;

// Send the message

$result = $mailer->send($message);

?>

我的代码工作正常,但一次将所有电子邮件发送到 ->setto 变量中提供的地址。我需要设置一个循环来延迟每 7 秒发送一封电子邮件。

【问题讨论】:

  • 你尝试过循环吗?
  • 所以当您拥有超过一定数量的电子邮件地址时,您的客户端会超时吗?你确定php是你想走的路吗?
  • @Archer 这可以是控制台脚本,不一定是网络脚本
  • @Cid 是的,这就是我问 OP 这个问题的原因。
  • 我被客户端强制使用 PHP,但是我是语言新手 :)

标签: php swiftmailer


【解决方案1】:
  1. Loop over the addresses using for each. 在每个循环中:
    1. 使用您提供的代码向一个地址发送电子邮件。
    2. Wait 7 seconds using sleep.

分解您的问题并找出如何解决每个部分。然后问题就变得容易多了。

【讨论】:

  • “分解你的问题并找出每个部分的处理方法。然后问题就变得容易多了。”这就是编程的精髓。
  • @ivanivan 知道为什么这被否决了吗?
  • 带有链接的答案很好,但如果它只是链接,那么它是毫无意义的。相关代码应该在答案中。
  • @Archer 这是指向文档的链接,而不是代码。它是教提问者如何解决这个问题。它们纯粹是辅助的;没有他们,答案仍然存在。我后来添加了它们。
  • 我们可以整天不同意您链接的有效性或价值,但正如我也说过Relevant code should be in the answer.一旦这些链接不起作用,这个答案就没有价值了。
【解决方案2】:

创建接收下一封电子邮件并发送它的 PHP 脚本。 将 Cron/Task Scheduler 设置为每 7 秒运行一次此脚本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-07
    • 2018-05-10
    • 2010-12-20
    • 2012-01-16
    • 1970-01-01
    • 2013-10-17
    • 1970-01-01
    • 2020-11-11
    相关资源
    最近更新 更多