无法在 ubuntu/linux 中使用 PHPmailer 和 smtp 发送


Can't send using PHPmailer and smtp in ubuntu/linux

请帮忙,我已经发布了一个关于此事的相关问题。我有一个没有错误的代码和一条消息:

SMTP -> FROM SERVER:220 itech.urc.local Microsoft ESMTP MAIL Service, Version: 6.0.3790.3959 ready at Thu, 7 Nov 2013 20:44:46 +0800 
SMTP -> FROM SERVER: 250-itech.urc.local Hello [192.168.56.100] 250-AUTH GSSAPI NTLM LOGIN 250-AUTH=LOGIN 250-TURN 250-SIZE 250-ETRN 250-PIPELINING 250-DSN 250-ENHANCEDSTATUSCODES 250-8bitmime 250-BINARYMIME 250-CHUNKING 250-VRFY 250 OK 
SMTP -> FROM SERVER:250 2.1.0 itechweb-mail@itechglobal.com.ph....Sender OK 
SMTP -> FROM SERVER:250 2.1.5 algie.rosario@yahoo.com 
SMTP -> FROM SERVER:354 Start mail input; end with . 
SMTP -> FROM SERVER:250 2.6.0 <7319fa99244aea2045353a8769d0f46b@192.168.56.100> Queued mail for delivery 
Message sent

这是我的代码:

<?php 
include('PHPMailer_5.2.0/class.phpmailer.php');
include('PHPMailer_5.2.0/class.smtp.php');

$mail             = new PHPMailer();
$body             = file_get_contents('PHPMailer_5.2.0/examples/contents.html');
$body             = eregi_replace("[']",'',$body);

$mail->IsSMTP(); // telling the class to use SMTP
$mail->Host       = "linkmpr01.urc.local"; // SMTP server
$mail->SMTPDebug  = 2;                     // enables SMTP debug information 

$mail->SMTPAuth   = true;                  // enable SMTP authentication
$mail->Host       = "whatever.local"; // sets the SMTP server
$mail->Port       = 25;                    // set the SMTP port for the GMAIL server
$mail->Username   = "whatever"; // SMTP account username
$mail->Password   = "whatever";        // SMTP account password

$mail->SetFrom('ethnicweb-mail@ethnicglobal.com.ph', 'First Last');
$mail->AddReplyTo("ethnic-mail@ethnicglobal.com.ph","First Last");
$mail->Subject    = "PHPMailer Test Subject via smtp, basic with authentication";
$mail->AltBody    = "To view the message, please use an HTML compatible email viewer!";       
$mail->MsgHTML($body); 
$address = "algie.rosario@yahoo.com";
$mail->AddAddress($address, "John Doe");

$mail->AddAttachment("PHPMailer_5.2.0/examples/images/phpmailer.gif");      
$mail->AddAttachment("PHPMailer_5.2.0/examples/images/phpmailer_mini.gif"); 

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

此代码对我有效,唯一的问题是它没有向收件人发送任何内容。请帮忙。

问题出在 SMTP 服务器地址上

    $mail->Host       = "linkmpr01.urc.local"; 

将其更改为实际服务器地址(不是内网服务器地址)。我希望它能正常工作。