Оповещение пользователя о том, что отправка почты выполняется, занимает несколько секунд - PullRequest
0 голосов
/ 22 апреля 2019

PHPMailer страница занимает несколько секунд, прежде чем перейти на страницу успеха.Есть ли способ сообщить пользователю, что для отправки письма может потребоваться несколько секунд?

$mail = new PHPMailer();

$mail->IsSMTP();                                    
$mail->Host = "localhost";
$mail->SMTPAuth = true;
$mail->Username = $user;
$mail->Password = "$password;
$mail->From = $from;
$mail->AddAddress($uemail);
$mail->Subject = $mailsub;
$mail->Body    = $mailmsg;

$mail->Send()

header('location: genmsg.php?tp=confirm&email='.$uemail);

1 Ответ

0 голосов
/ 23 апреля 2019

Я нашел решение !!По сути, при отправке я использую функцию JS, чтобы скрыть форму и показать ранее скрытый элемент div, в котором пользователь просит подождать, пока запрос отправляется.

Добавлен этот код в функцию JS FormValidation:

document.getElementById('mailform').style.display  = "none"
document.getElementById('mailing').style.display = "block"

Когда PHPmailer завершает работу, пользователь перенаправляется на страницу успеха.

(PHPmailer занимает около 3 секунд, чтобы выполнить, а затем перенаправить на мой сервер)

Работал отлично !!!

...