2016-07-04 5 views
0

Я знаю, что этот вопрос задан раньше, и я внедрил все предложения, которые я смог найти без успеха. Прежде чем я откажусь от PHPmailer и использую криптографическую почту PHP, которая работает, я подумал, что, возможно, где-то там в мире может быть решение.PHPmailer не отправляет электронную почту и не выдает ошибок

PHP

<?php 
require_once 'class.phpmailer.php'; 

function sendEmail($subject, $body, $toEmail, $fromEmail, $fromName = 'N/A', $isHTML=false, $msg="Thank you for contacting us. Your message has been sent.") 
{ 
    try 
    { 
     $mail = new PHPMailer(true); 
     $mail->IsSMTP(); 
     $mail->Host  = 'mail.privateemail.com'; 
     $mail->Port  = '465'; 
     $mail->SMTPAuth = true;         // Enable SMTP authentication 
     $mail->Username = '[email protected]';    // SMTP username 
     $mail->Password = 'MYPWD'; 
     $mail->SMTPSecure = "ssl"; 
     $mail->From  = $fromEmail; 
     $mail->FromName = $fromName; 
     $mail->Subject = $subject; 
     if ($isHTML) $mail->IsHTML(true); 
     $mail->Body  = $body; 
     $mail->AddAddress($toEmail); 
     $result = $mail->Send() ? 1 : 0; 
     if (count($msg)) echo $msg; 
     return $result; 
    } catch (phpmailerException $e) { 
      return $e->errorMessage(); //Pretty error messages from PHPMailer 
    } catch (Exception $e) { 
      return $e->getMessage(); //Boring error messages from anything else! 
    } 
} 
?> 
+0

в классе class.phpmailer.php является '$ mail-> From' и' $ mail-> FromName' являются отдельными функциями или такими же, как этот '$ this-> mail-> SetFrom ($ from_email, $ from_name); '? –

+0

Спасибо за ваш комментарий. Разве они не могут быть установлены отдельно, как я сделал? –

+0

Возможно, вам потребуется изучить DKIM (DomainKeys Identified Mail). Ваша электронная почта может быть отправлена, но затем отфильтрована. Вы уже установили свой DKIM? – Makketronix

ответ

0

Попробуйте добавить:

$mail->SMTPDebug = 2 

только для отладки и для получения дополнительной информации о подключении. И добавить:

$mail->SMTPOptions = array(
     'ssl' => array(
     'verify_peer' => false, 
     'verify_peer_name' => false, 
     'allow_self_signed' => true 
    ) 
) 

Этот код поможет вам получить более безопасное соединение.

Смежные вопросы