2017-01-25 7 views
0

Итак, у меня есть форма для подписки в качестве волонтера на мероприятие, которое я организую. Все работает отлично для пользователей Mac/Safari. Но когда пользователь находится на mac ios/osx, и он/она заполнит форму на сафари, письмо никогда не будет доставлено. База данных заполнена информацией о пользователях, но письмо с подтверждением никогда не доходит до пользователя ...PHP-адрес электронной почты, который не доставлен, когда пользователь находится на сафари

Я использую PHP-почтовый скрипт.

Это мой PHP код для почтовых частей:

$subject = 'Bevestiging Vrijwilliger Dollen Dinsdag 2017'; 

     $message = $surname . ', bedankt voor je aanmelding!<br><br>'; 
     $message .= 'Om je inschrijving af te ronden vragen we je om deze te bevestigen door op de onderstaande link te drukken.<br><br>'; 
     $message .= '<a href="http://www.domain.nl/subscribe.php?action=confirm&userId='.$userId.'&userCode='.$confirmationCode.'">http://www.domain.nl/subscribe.php?action=confirm&userId='.$userId.'&userCode='.$confirmationCode.'</a><br>'; 
     $message .= 'Werkt de link niet door erop te klikken, kopieer en plak deze dan in je browser.<br><br>'; 
     $message .= 'Klopt deze aanmelding niet? klik dan <a href="http://www.domain.nl/subscribe.php?action=decline&userId=' .$userId. '&userCode=' .$confirmationCode. '">http://www.domain.nl/subscribe.php?action=decline&userId=' .$userId. 'userCode=' .$confirmationCode. '</a> om de aanmelding te annuleren.<br>'; 
     $message .= 'Werkt de link niet door erop te klikken, kopieer en plak deze dan in je browser.<br><br>'; 
     $message .= 'Met vriendelijke groet,<br>'; 
     $message .= 'Stichting Dollen Dinsdag'; 

     $headers = "Reply-To: Organization <[email protected]>".PHP_EOL; 
     $headers .= "Return-Path: Dollen Dinsdag <[email protected]>".PHP_EOL; 
     $headers .= "From: organization <[email protected]>".PHP_EOL; 
     $headers .= "Organization: organization".PHP_EOL; 
     $headers .= "MIME-Version: 1.0".PHP_EOL; 
     $headers .= "Content-type: text/html; charset=iso-8859-1".PHP_EOL; 
     $headers .= "X-Priority: 3".PHP_EOL; 
     $headers .= "X-Mailer: PHP". phpversion() .PHP_EOL; 

     ///////////////////////// 

     //$mail->SMTPDebug = 3;        // Enable verbose debug output 

     $mail->isSMTP();          // Set mailer to use SMTP 
     $mail->Host = 'mail.domain.nl';     // Specify main and backup SMTP servers 
     $mail->SMTPAuth = true;        // Enable SMTP authentication 
     $mail->Username = '[email protected]';     // SMTP username 
     $mail->Password = 'pass';       // SMTP password 
     $mail->SMTPSecure = 'tls';       // Enable TLS encryption, `ssl` also accepted 
     $mail->Port = 25;         // TCP port to connect to 

     $mail->setFrom('[email protected]', 'Dollen Dinsdag'); 
     $mail->addAddress($email);  // Add a recipient 
     //$mail->addAddress('[email protected]');    // Name is optional 
     $mail->addReplyTo('[email protected]', 'Vrijwilliger'); 
     //$mail->addCC('[email protected]'); 
     //$mail->addBCC('[email protected]'); 

     //$mail->addAttachment('/var/tmp/file.tar.gz');   // Add attachments 
     //$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // Optional name 
     $mail->isHTML(true);         // Set email format to HTML 

     $mail->Subject = $subject; 
     $mail->Body = $message; 
     $mail->AltBody = $message; 

     if(!$mail->send()) { 
      echo 'Message could not be sent.'; 
      echo 'Mailer Error: ' . $mail->ErrorInfo; 
     } else { 
      echo 'success'; 
     } 
+2

Учитывая, что PHP работает на сервере, я сомневаюсь, что браузер влияет на отправку почты. –

+0

Вы пробовали это или попросили пользователей попробовать это на любых других устройствах или в браузерах? Если да, то с какими результатами? – freginold

+0

Также, сколько пользователей сообщили о проблеме? Если это всего лишь несколько, есть вероятность, что они используют один и тот же провайдер электронной почты, и в этом проблема. – freginold

ответ

0

Это звучит как $email не обрабатывается должным образом. Я попытался бы сделать следующее, прежде чем нажимать переменную на PHPMailer ...

$email = preg_replace('~\R~u', "\r\n", $email); 
$mail->addAddress($email); 
0

Спасибо за ответы. Кажется, что там, где сразу возникают проблемы. Я посмотрел с моим кодом на код, и проблема с почтой, похоже, связана с тем, что gmail имеет черный список пользователей mij ...