2016-11-16 1 views
1

В настоящее время я использую функцию почты PHP или функцию почты Mail CodeIgnitor для отправки почты. Из почтового идентификатора может быть любого домена, например [email protected], [email protected], [email protected]Использование почты PHP из нескольких почтовых клиентов (Yahoo | Google | Hotmail | Rediff | Личный почтовый домен)

Также почтой может быть любой домен.

Мои письма отправляются надлежащим образом, когда FROM установлено на любую почту, отличную от почты YAHOO. У вас возникли проблемы с отправкой почты с PHP-почты из любой почты YAHOO. Является ли Yahoo блокирующим мои письма?

Как я могу решить эту проблему?

+0

Are вы передаете почту через SMTP-серверы Yahoo? Если да, то да. – Kitson88

+0

@bub можно отправлять письма с любого почтового клиента, которого они хотят, но нужно использовать некоторые SMTP-данные. В настоящее время я не использую детали SMTP-сервера. –

+0

@ Kitson88 В настоящее время я не использую данные SMTP-сервера. ЕСЛИ я это сделаю, чем мне придется использовать несколько данных клиента SMTP, таких как gmail, yahoo, hotmail и т. Д. –

ответ

1

Вы не можете отправлять почту от имени доменов, указанных выше, используя ваш почтовый сервер. В каждом из этих доменов есть что-то, что используется в DNS-отчете SPF (Sender Policy Framework), которая сообщает всем получателям почтовые разделители, которые проверяют SPF, чтобы подтвердить, что IP-адреса отправителей совпадают с SPF. Вам нужно будет отправить электронное письмо через свои SMTP-серверы, передав их самостоятельно.

пример SPF для GMAIL & YAHOO

v=spf1 redirect=_spf.google.com 
v=spf1 redirect=_spf.mail.yahoo.com 

Проверить, если SPF запись существует на домене с помощью этого сайта:

http://mxtoolbox.com/spf.aspx

На мой взгляд, ваш лучший вариант заключается в том, чтобы перенаправить почту на правильные SMTP-серверы на домен. Вы можете сделать это очень легко, используя PHPMailer. Если домен, заданный в параметре FROM, является частным образом управляемым доменом, тогда вы должны иметь возможность ретранслировать от имени, если нет записи SPF, и ваш IP-адрес не включен в черный список.

Сайт для проверки, если ваш отправки IP занесен в черный список:

http://mxtoolbox.com/blacklists.aspx

Пример того, как вы можете выбрать, какие настройки SMTP используются для определенного домена:

$email = '[email protected]'; 
$domain = explode('@', $email) ; 

switch ($domain[1]) { 

    case 'yahoo.com': 

      //NOT REAL SMTP SETTINGS! 
      $mail->Host = 'smtp1.yahoo.com'; 
      $mail->SMTPAuth = true;        
      $mail->Username = '[email protected]';     
      $mail->Password = 'secret';       
      $mail->SMTPSecure = 'tls';       
      $mail->Port = 587;   

    break; 

    case 'gmail.com': 

      //NOT REAL SMTP SETTINGS! 
      $mail->Host = 'smtp1.gmail.com'; 
      $mail->SMTPAuth = true;        
      $mail->Username = '[email protected]';     
      $mail->Password = 'secret';       
      $mail->SMTPSecure = 'tls';       
      $mail->Port = 587;   

    break; 


} 


//Rest of PHP Mailer code 
Смежные вопросы