【问题标题】:Execute function only once to save time只执行一次功能以节省时间
【发布时间】:2017-11-20 02:39:38
【问题描述】:

我有一个电子邮件功能,请在下面找到代码:

function sendEmail($userName, $password, $sendTo, $sendToName, $subject, $body, $mailSent){

        $mail             = new PHPMailer();
        // $body             = eregi_replace("[\]",'',$body);

        $mail->IsSMTP(); // telling the class to use SMTP
        --------
        --------
        --------

        $mail->SetFrom($userName, 'Rajendra Arora');

        $mail->AddReplyTo($userName,"Rajendra Arora");

        $mail->Subject    = $subject;

        $mail->Body    = $body; // optional, comment out and test
    }

此电子邮件函数有一个文件大小较长的附件,但每当使用sendEmail(); 调用此电子邮件函数时。每次都会执行,而且需要很长时间,因为它必须通过整个执行程序,主要是上传。

有没有办法只执行一次这个sendEmail()function。这样我们就可以简单地调用一次并节省阻止上传的时间?

【问题讨论】:

  • 记忆只对没有副作用的函数有效。您说的功能可能是发送邮件,但从描述中不清楚。
  • 我的意思是,我们能不能只执行一次整个sendEmail() 函数。这样每当我们下次在任何地方调用sendEmail() 时,它都不必经过整个sendEmail() 函数,它意味着已经执行上传文件更改。
  • 文件上传需要时间,因为 SMTP 需要在您每次发送信件时上传文件。其他一切几乎不需要时间。
  • 没错,还是谢谢 .. @jens108 已经给我指出了一些建议。 :)
  • 请注意,届时所有收件人都会知道彼此的电子邮件。

标签: javascript php function email phpmailer


【解决方案1】:

如果您的电子邮件具有相同的内容,您可以将相同的邮件发送给多个用户:您只需为每个收件人调用一次 AddAddress 方法。像这样:

$mail->AddAddress('person1@domain.com', 'Person One');
$mail->AddAddress('person2@domain.com', 'Person Two');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多