2012-04-27 8 views
2

В настоящее время я пытаюсь использовать PHPmailer для отправки электронной почты. Вот нижеPHP для подключения к Hotmail для отправки электронной почты?

<?php  
require("phpmailer/class.phpmailer.php"); 
$mail = new PHPMailer(); // ---------- adjust these lines --------------------------- ------------ 
$mail->Username = "([email protected])"; // your hotmail user name  
    $mail->Password = "password"; 
    $mail->AddAddress"([email protected])"; // recipients email  
    $mail->FromName = "test"; // readable name  
    $mail->Subject = "Subject title";  
    $mail->Body = "Here is the message you want to send to your friend.";  
    //-----------------------------------------------------------------------  
    $mail->Host = "smtp.live.com"; // GMail  
    $mail->Port = 25;  $mail->IsSMTP(); // use SMTP 
    $mail->SMTPAuth = true; // turn on SMTP authentication 
    $mail->From = $mail->Username; 
    if(!$mail->Send())  
     echo "Mailer Error: " . $mail->ErrorInfo;  
    else  
     echo "Message has been sent";  

    ?> 

коды, которые я пробовал SSL, порт 587 для smtp.live.com с PHPMailer, почему она не работает?

Ошибка: «Ошибка SMTP: не удалось подключиться к SMTP-хосту. Ошибка Mailer: ошибка SMTP: не удалось подключиться к узлу SMTP».

Я не могу telnet smtp.live.com 25,587. smtp.gmail.com и т. Д. Что мне делать? :(

+0

Что вы подразумеваете под «Я не могу« telnet »на' smtp.live.com'?? Какую ошибку вы получаете? – icktoofay

+0

Не удалось открыть соединение с хостом на порту 25; Сбой соединения. – user127886

+0

@ user127886, ваш хост, вероятно, блокирует эти порты. Это общепринято. – Brad

ответ

0

порт 587 работал для меня.

нет необходимости запускать IsSMTP(). Комментарий его, как он будет бросать исключение.

Не забудьте пометить его как ответ, если он решит вашу проблему :)

+0

Ваш ответ неверен – Julian

2
<?php 

//error_reporting(E_ALL); 
error_reporting(E_STRICT); 

date_default_timezone_set('America/Toronto'); 

require_once('../class.phpmailer.php'); 
//include("class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded 

$mail    = new PHPMailer(); 

$body    = file_get_contents('contents.html'); 
$body    = eregi_replace("[\]",'',$body); 

$mail->IsSMTP(); // telling the class to use SMTP 
$mail->SMTPDebug = 2;      // enables SMTP debug information (for testing) 
              // 1 = errors and messages 
              // 2 = messages only 
$mail->SMTPAuth = true;     // enable SMTP authentication 
$mail->SMTPSecure = "tls";     // sets the prefix to the servier 
$mail->Host  = "smtp.live.com";  // sets hotmil as the SMTP server 
$mail->Port  = 587;     // set the SMTP port for the hotmail server 
$mail->Username = "[email protected]";  // hotmail username 
$mail->Password = "useyourownpassword";   // hotmail password 
$mail->SetFrom('[email protected]', 'First Last'); 
$mail->AddReplyTo("[email protected]","First Last"); 
$mail->Subject = "PHPMailer Test Subject via smtp (hotmail), basic"; 
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test 
$mail->MsgHTML($body); 

$address = "[email protected]"; 
$mail->AddAddress($address, "John Doe"); 

$mail->AddAttachment("images/phpmailer.gif");  // attachment 
$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment 

if(!$mail->Send()) { 
    echo "Mailer Error: " . $mail->ErrorInfo; 
} else { 
    echo "Message sent!"; 
} 

?> 
+0

Спасибо за ваш ответ – Talha

2

Ответ Talha работает для меня. Попробуйте прокомментировать $ mail-> IsSMTP(); и я также прокомментировал эту часть $ mail-> Port = 587;

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