2016-01-08 2 views
2

Я искал в гугле около 18 часов, и мои нервы очень плохо ... даже на StackOverflowSMTP ОШИБКА: Невозможно проверить подлинность - НЕ GMAIL, собственный сервер VPS

Сначала я студент так извините за мой плохой английский

Что я хочу делать: Я готовлю свой новый сервер VPS, где я установил Ubuntu 14.04, а также новейшую версию постфикса для получения и отправки E-mail (около 5000 для клиентов) из этого VPS. Кроме того, я настроил мой Postfix .. На моем домене я использую новейшую PHPMailer, а также и PHP 5.5

Я хочу связать свой домен SMTP на VPS и отправить по электронной почте от этого VPS к другим серверам ...

Моя проблема: Я пытался много конфигураций и вариантов и до сих пор эта ошибка, мой PHP скрипт не может подключиться к SMTP хост

Мой файл .php, откуда я отправка сообщений электронной почты:

<?php 

    require_once("mailer/class.phpmailer.php"); 
    require_once("mailer/class.smtp.php"); 

    $mail = new PHPMailer(); 
    $mail->IsSMTP(); // telling the class to use SMTP 

    $mail->SMTPSecure  = false; 
    $mail->Host   = "mail.xxx.cz"; 
    $mail->SMTPAuth  = true; 
    $mail->SMTPKeepAlive = true; 
    $mail->Port   = 587; 
    $mail->Username  = "[email protected]"; 
    $mail->Password  = "TEST"; 
    $mail->SMTPDebug  = 3; 

    $mail->FromName  = "Michal"; 
    $mail->From   = "[email protected]"; 
    $mail->Subject  = "Newsletter"; 

    $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; 
    $mail->MsgHTML("testing"); 
    $mail->AddAddress("[email protected]"); 

    if(!$mail->Send()) { 
     echo $mail->ErrorInfo; 
     exit; 
    } 
    echo "Message has been sent"; 

?> 

Мой VPS конфигурации Postfix: http://fio.filfar.eu/files/Xj4qBxbYsi.png

Мой SMTP Журнал ошибок из PHP сценария (PHPMailer.php - режим отладки 3):

2016-01-08 12:03:35 Connection: opening to mail.xxx.cz:587, timeout=300, options=array (
            ) 
2016-01-08 12:03:35 Connection: opened 
2016-01-08 12:03:35 SERVER -> CLIENT: 220 vm1xxxx ESMTP Postfix (Ubuntu) 
2016-01-08 12:03:35 CLIENT -> SERVER: EHLO blog.xxx.cz 
2016-01-08 12:03:35 SERVER -> CLIENT: 250-vm1xxxx 
             250-PIPELINING 
             250-SIZE 10240000 
             250-VRFY 
             250-ETRN 
             250-ENHANCEDSTATUSCODES 
             250-8BITMIME 
             250 DSN 
2016-01-08 12:03:35 SMTP Error: Could not authenticate. 
2016-01-08 12:03:35 CLIENT -> SERVER: QUIT 
2016-01-08 12:03:35 SERVER -> CLIENT: 221 2.0.0 Bye 
2016-01-08 12:03:35 Connection: closed 
2016-01-08 12:03:35 SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting 
SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting 

Я уверен, что мой Имя пользователя и пароль правильны, чтобы тратить часы на что тоже ...

БОЛЬШОЙ СПАСИБО всем, кто хочет помочь. Я не могу решить эту проблему ...

+0

Вы используете старую версию PHPMailer. [Получить последнюю версию] (https://github.com/PHPMailer/PHPMailer) и основать код на примерах, предоставляемых с ним. – Synchro

+0

Я уже обновил его и ничего .. Я собираюсь попробовать, что вы написали ниже .. Спасибо за ответ. –

ответ

0

Я думаю, вам нужно сначала проверить ваши детали smtp. Вы можете проверить его онлайн http://smtper.nanogenesis.fr/

+0

Все еще ничего. Он не может подключиться: Отказ отправки почты. Не удалось подключиться к удаленному серверу. Не удалось выполнить попытку подключения, потому что связанная сторона не ответила должным образом через некоторое время или установив соединение не удалось, потому что подключенный хост не смог ответить xx.xx.xx.xx. Я не знаю, потому что он подключается к серверу, но SMTP не работает. –

0

Вы подключаетесь к порту 587 (порт протокола отправки SMTP), но ваш сервер не предлагает команды AUTH или STARTTLS в своем списке возможностей при подключении, поэтому нет способа для проверки подлинности вашего клиента. Вам нужно исправить конфигурацию вашего постфиксного сервера.

+0

Итак, мне нужна поддержка TLS или SSL? Мне нужен только простой auth без безопасности. Должен ли я использовать другой порт? Я использую smtp_sasl_auth_enabled = да, поэтому auth должен быть включен или нет? –

+0

Передача через порт 587 неявно требует поддержки STARTTLS в соответствии с RFC. Если вы не хотите требовать авторизации (поскольку ваш почтовый сервер является локальным), просто отправьте на localhost-порт 25 без авторизации, хотя убедитесь, что вы не являетесь открытым ретранслятором – Synchro

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