2011-09-11 116 views
0
<?php 
    $to = "[email protected]"; 
    $subject = "Test mail"; 
    $message = "Hello! This is a simple email message."; 
    $from = "[email protected]"; 
    $headers = "From:" . $from; 
    mail($to,$subject,$message,$headers); 
    echo "Mail Sent."; 
?> 

当我运行这些脚本,我得到这些错误下面的警告是什么意思?

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" 
port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() 
in C:\xampp\htdocs\website\mail.php on line 7 

我有什么,现在怎么办?任何人都可以告诉我怎么做?好吧,我已经找到了那个文件,但是我需要更新的字段是什么,你可以向我推荐一些代码,以便将它粘贴并保存起来?

+0

在localhost上运行SMTP服务吗? PHP代码成功地尝试连接到一个,但似乎没有一个正在运行。 – David

+0

这意味着php被配置为连接到本地机器上的邮件服务器,这显然没有运行。你骗了php,现在你受到惩罚:P –

+0

所以我必须做什么?你能告诉我解决方案吗! – niko

回答

1

您需要将PHP配置为使用正在运行的SMTP服务才能发送SMTP电子邮件。这是一个article讨论这个问题。

基本上,您的PHP实例的SMTP配置似乎使用默认值,它指向localhost。但是您的本地计算机似乎没有运行SMTP服务。所以你需要指出的是运行一个的服务器,以及允许应用程序使用的服务器。

2

你必须配置你的php.ini有效的smtp服务器和电子邮件地址。

1

我想,这个问题是your other question一样的...

如果是这样,我想你正试图通过Gmail的SMTP服务器发送电子邮件。他们的服务器需要认证,这是PHP的邮件功能不支持的。 正如我在另一个问题中回答你的问题,你可以使用Zend_Mail来做到这一点。您也可以像使用其他问题中的示例一样使用PEAR Mail。 无论哪种方式,您都需要下载一些外部文件,将其包含在您的代码中并使用它。

相关问题