2016-10-23 201 views
1

我已经完成了30个++主题,无法确定我犯的错误。也许有人不是我可以看到我做错了,我得到了:邮件无法发送。邮件错误:SMTP连接()失败。为了确保,我使用的是github的最新文件,但我无法完成。主机是az.pl,或许任何人都必须对它做些什么?我已删除的电子邮件+密码:)邮件无法发送。邮件错误:SMTP连接()失败

<?php 
$name = $_POST['nick']; 
$visitor_email = $_POST['email']; 
$visitor_tel = $_POST['tel']; 
$message = $_POST['msg']; 
require 'PHPMailerAutoload.php'; 

require_once('class.phpmailer.php'); // dodanie klasy phpmailer 
require_once('class.smtp.php'); // dodanie klasy smtp 
$mail = new PHPMailer(); //utworzenie nowej klasy phpmailer 
$mail->isSMTP(); 
$mail->Host = "mailng.az.pl"; //adres serwera SMTP wysyłającego e-mail 
$mail->Mailer = "smtp"; //do wysłania zostanie użyty serwer SMTP 
$mail->SMTPAuth = true; //włączenie autoryzacji do serwera SMTP 
$mail->Username = ""; //nazwa użytkownika do skrzynki e-mail 
$mail->CharSet = 'UTF-8'; 
$mail->From = ""; //Pełny adres e-mail 
$mail->FromName = "Formularz kontaktowy"; //imię i nazwisko lub nazwa  użyta do wysyłania wiadomości 
$mail->Password = ""; //hasło użytkownika do skrzynki e-mail 
$mail->Port = 587; //port serwera SMTP 
$mail->Subject = "Nowe zlecenie: $visitor_email"; //Temat wiadomości, można stosować zmienne i znaczniki HTML 
$mail->Body = "Nazwa zleceniodawcy: $name \n"; 
$mail->Body .="Email kontaktowy: $visitor_email \n"; 
$mail->Body .= "Telefon kontaktowy: $visitor_tel\n"; 
    $mail->Body .= "Zlecenie: $message"; //Treść wiadomości, można stosować zmienne i znaczniki HTML 
$mail->SMTPSecure = 'tls'; // 
$mail->AddAddress ("",""); //adres skrzynki e-mail oraz nazwa 
               //adresata, do którego trafi wiadomość 
if(!$mail->send()) { 
    echo 'Message could not be sent.'; 
    echo 'Mailer Error: ' . $mail->ErrorInfo; 
} else { 
    header('Location: emailsent.html'); 
} 
?> 
+0

随着SMTPDebug = 1 I得到: '2016年10月23日十七点36分44秒\t CLIENT - > SERVER:EHLO lunicdesign.pl 2016年10月23日十七点36分44秒\t CLIENT - > SERVER:STARTTLS 2016 -10-23 17:36:44 \t SMTP错误:无法连接到SMTP主机。 2016-10-23 17:36:44 \t客户端 - >服务器:QUIT 2016-10-23 17:36:44 \t SMTP错误:QUIT命令失败:xutT ' ; i D M 6 2016-10-23 17:36:44 \t SMTP连接()失败.'' –

+0

30篇文章,并设法错过了建议,将您的代码基于提供的示例并阅读故障排除指南链接到您看到的错误消息。 – Synchro

回答

0

只是为了其他的缘故是az.pl这里用的是改变脚本的作品(不使用TLS与注释掉$ MAIL-> isSMTP();)

<?php 
    $name = $_POST['nick']; 
    $visitor_email = $_POST['email']; 
    $visitor_tel = $_POST['tel']; 
    $message = $_POST['msg']; 
    require 'PHPMailerAutoload.php'; 

require_once('class.phpmailer.php'); // dodanie klasy phpmailer 
require_once('class.smtp.php'); // dodanie klasy smtp 
$mail = new PHPMailer(); //utworzenie nowej klasy phpmailer 
$mail->isSMTP(); 
$mail->Host = "mailng.az.pl"; //adres serwera SMTP wysyłającego e-mail 
$mail->Mailer = "smtp"; //do wysłania zostanie użyty serwer SMTP 
$mail->SMTPAuth = true; //włączenie autoryzacji do serwera SMTP 
$mail->Username = ""; //nazwa użytkownika do skrzynki e-mail 
$mail->CharSet = 'UTF-8'; 
$mail->From = ""; //Pełny adres e-mail 
$mail->FromName = "Formularz kontaktowy"; //imię i nazwisko lub nazwa użyta do wysyłania wiadomości 
$mail->Password = ""; //hasło użytkownika do skrzynki e-mail 
$mail->Port = 587; //port serwera SMTP 
$mail->Subject = "Nowe zlecenie: $visitor_email"; //Temat wiadomości, można stosować zmienne i znaczniki HTML 
$mail->Body = "Nazwa zleceniodawcy: $name \n"; 
$mail->Body .="Email kontaktowy: $visitor_email \n"; 
$mail->Body .= "Telefon kontaktowy: $visitor_tel\n"; 
    $mail->Body .= "Zlecenie: $message"; //Treść wiadomości, można stosować zmienne i znaczniki HTML 
$mail->SMTPSecure = ''; // 
$mail->SMTPAutoTLS = false; //wyłączenie TLS 
$mail->AddAddress ("",""); //adres skrzynki e-mail oraz nazwa 
               //adresata, do którego trafi wiadomość 
if(!$mail->send()) { 
    echo 'Message could not be sent.'; 
    echo 'Mailer Error: ' . $mail->ErrorInfo; 
} else { 
    header('Location: emailsent.html'); 
} 
?> 
+0

这是在其他地方建议的。这通过不使用SMTP来“修复”SMTP。理解代码工作原理非常重要,而不仅仅是它的作用。 – Synchro

+0

谢谢Synchro,但我从来没有在任何地方(任何地方看过)看到空smtpsecure,随机我在tls和ssl之间切换时就这样离开了它:P Good it works :)我不是PHP的头脑,从来没有工作过它超过我应该但在本课之后 - 我需要:) –

+1

SMTPSecure中的空字符串是未定义的。如果要禁用加密,请同时设置“SMTPSecure = false”和“SMTPAutoTLs = false”。但是,如果您使用的是需要通过未加密连接进行身份验证的ISP,则应该找到新的ISP。 – Synchro

相关问题