我遇到了需要将php mailer包装在我自己的函数A中的情况,如果成功发送了邮件,此函数需要返回true或false,而另一个函数B仍将检查A是否返回true并执行一些操作或向用户回覆,如果为false,则不会发送邮件。换句话说,在发送电子邮件后,我需要做其他事情,并且需要自己处理成功或失败。但是,一旦phpmailer发送了邮件,它就会急速终止整个代码并向用户回显某事,其他功能将无法执行。
答案 0 :(得分:1)
您可以为if
函数设置send()
条件,并在其中调用必要的方法。
例如
<?php
require 'PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->setFrom('from@example.com', 'Your Name');
$mail->addAddress('myfriend@example.net', 'My Friend');
$mail->Subject = 'First PHPMailer Message';
$mail->Body = 'Hi! This is my first e-mail sent through PHPMailer.';
if(!$mail->send()) {
echo 'Message was not sent.';
echo 'Mailer error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent.';
}