2013-07-23 2 views
1

Я использую этот код, чтобы попытаться отправить электронную почту, используя SMTP, но у меня есть сообщение об ошибкея не смог подключиться к SMTP хосту

<html> 
<head> 
<title>PHPMailer - SMTP basic test with authentication</title> 
</head> 
<body> 

<?php 

//error_reporting(E_ALL); 

phpinfo(); 

require("../class.phpmailer.php"); 
require("../class.smtp.php"); 

define("PHPMAILERHOST",'smtp.gmail.com'); 
date_default_timezone_set('Asia/Tehran'); 
$mail = new PHPMailer(); 
ini_set('display_errors', 1); 

$mail->IsSMTP(); // set mailer to use SMTP 
$mail->Host = "smtp.gmail.com"; // specify main and backup server 
$mail->Port = "465"; // SMTP Port 
$mail->SMTPAuth = true; // turn on SMTP authentication 
$mail->SMTPSecure= "ssl"; // SMTP connection type 
/************************************************** *********************************/ 
/************************************************** *********************************/ 
$mail->Username = "[email protected]"; // SMTP username 
$mail->Password = "XXXXXX"; // SMTP password 
// Send email to : 
$mail->AddAddress("[email protected]"); // will receive the test email 
/************************************************** *********************************/ 
/************************************************** *********************************/ 
//$mail->AddAddress("[email protected]", "Josh Adams"); 
//$mail->AddReplyTo("[email protected]", "Information"); 
$mail->WordWrap = 50; // set word wrap to 50 characters 
//$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 = "hahahahahahahahahahhahhahahahhahahha"; 
$mail->Body = '<html><meta http-equiv="content-type" content="text/php; charset=utf-8"/><body> 
layay layayya رسید بگو 
</body></html> 

'; 
$mail->AltBody = "This is the body in plain text for non-HTML mail clients"; 
if(!$mail->Send()) 
{ 
echo "Message could not be sent. <p>"; 
echo "Mailer Error: " . $mail->ErrorInfo; 
exit; 
} 
echo "Message has been sent"; 

?> 

</body> 
</html> 

этого код не какие-либо проблемы в местном я мог бы послать электронную почту в местном (WAMP сервер), но в сервере я есть ошибки:

SMTP Error: Could not connect to SMTP host. Message could not be sent. 

Mailer Error: SMTP Error: Could not connect to SMTP host. 

Я уверен, что SSL порт позволяют я называю phpinfo() я имел этот результат пожалуйста, помогите мне enter image description here

enter image description here

enter image description here

+0

Append for debug: $ mail-> SMTPDebug = 1; – Bora

+0

Что такое phpinfo для sendmail_path? – mti2935

+0

@ mti2935 sendmail_path для localvalue и mastervalue \t/usr/sbin/sendmail -t -i \t/usr/sbin/sendmail -t -i это хорошо или плохо? – maryam

ответ

1

В свете всех вышеперечисленных замечаний, это звучит, как там может быть какой-то проблема с локальным сервером SMTP на машине, что ваш РНР работает. Вы можете попробовать несколько тестов из командной строки (например, упомянутых выше) для устранения неполадок. Или вы можете просто обойти локальный SMTP-сервер на этом компьютере, используя phpmailer для отправки исходящей почты с помощью удаленного сервера ретрансляции SMTP. Если у вас есть учетная запись gmail, вы можете использовать smtp.gmail.com или использовать любой другой SMTP-сервер, к которому у вас есть доступ. phpmailer прост в настройке - всего несколько файлов PHP для копирования на ваш сервер. См. https://github.com/PHPMailer/PHPMailer. Затем вы можете начать отправку почты с помощью простого примера на странице github выше в качестве шаблона. phpmailer также будет обрабатывать все ваши MIME-кодировки, поэтому вам не нужно делать это с нуля, как вы делаете.

+0

sendmail отключилось, я изменил его, он работал хорошо – maryam

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