【问题标题】:Waiting for send function in phpmailer or mail function complete等待 phpmailer 中的发送功能或邮件功能完成
【发布时间】:2013-07-01 10:13:24
【问题描述】:

我为用户注册制作了一个表格,当他们点击提交按钮时,一封活动电子邮件将被发送到他们的电子邮件并转到索引页面。这是代码

/*
code config for PHPMailer
*/
$mail->Send();
header("location: index.php");

问题是需要等待几秒钟 $mail->发送(); 或者 邮件($user_email,$subject,$content) 完全的。当用户单击提交按钮时,如何会转到 index.php 并在后台发送电子邮件。谢谢!

【问题讨论】:

    标签: php email phpmailer


    【解决方案1】:

    PHP 是单线程的,这意味着它可以通过脚本运行。做某事时会等待,完成后继续。

    你想要的都是不可能的。

    但是,您可以尝试使用 Ajax 和两个单独脚本的方法。

    【讨论】:

    • @Hoclamweb - 解释什么?单线程意味着 PHP 在脚本中一次只能做一件事。如果你想做你所要求的,你必须把工作分成更多的脚本并同时运行它们。为此使用了 Ajax。
    • 是的,我了解 PHP 中的单线程,我不知道如何在这个问题中使用 ajax。谢谢!
    【解决方案2】:

    您可以在邮件功能中添加附加参数

    $additional_parameters = "O DeliveryMode=b";
    mail ($to, $subject,$message, $additional_headers, $additional_parameters)
    

    希望它会起作用

    【讨论】:

      【解决方案3】:

      可以试试这样的:

      <?php if( $mail->Send(); ) { header("location: index.php"); }
      

      【讨论】:

      • 它还在等待 $mail->Send();
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-09
      • 1970-01-01
      • 2020-08-14
      • 2021-10-29
      相关资源
      最近更新 更多