我想知道是否可以从本地主机发送电子邮件?我尝试了一些东西,但它没有用,我想也许它不会在localhost中工作。这是代码:
// Send the email:
$message = " To activate your account, please click on this link:\n\n";
$message .= WEBSITE_URL . '/activate.php?email=' . urlencode($Email) . "&key=$activation";
mail($Email, 'Registration Confirmation', $message, 'From: ismaakeel@gmail.com');
// Flush the buffered output.
// Finish the page:
echo '<div class="success">Thank you forregistering! A confirmation email has been sent to '.$Email.' Please click on the Activation Link to Activate your account </div>';
这就是连接:
/*Define constant to connect to database */
DEFINE('DATABASE_USER', 'root');
DEFINE('DATABASE_PASSWORD', 'buena');
DEFINE('DATABASE_HOST', 'localhost');
DEFINE('DATABASE_NAME', 'forum');
/*Default time zone ,to be able to send mail */
date_default_timezone_set('UTC');
/*You might not need this */
ini_set('SMTP', "mail.myt.mu"); // Overide The Default Php.ini settings for sending mail
//This is the address that will appear coming from ( Sender )
define('EMAIL', 'ismaakeel@gmail.com');
/*Define the root url where the script will be found such as http://website.com or http://website.com/Folder/ */
DEFINE('WEBSITE_URL', 'http://localhost');
// Make the connection:
$dbc = @mysqli_connect(DATABASE_HOST, DATABASE_USER, DATABASE_PASSWORD,
DATABASE_NAME);
if (!$dbc) {
trigger_error('Could not connect to MySQL: ' . mysqli_connect_error());
}
有什么不对吗?还是错过了?
答案 0 :(得分:1)
要从localhost发送电子邮件,您需要在本地计算机上安装smtp服务器。我认为没有必要,因为有一个小程序可以侦听从localhost发送的电子邮件,捕获它们并在默认的电子邮件客户端中打开它们。
我强烈重新启动这个计划。我也使用它,它是免费的:)
答案 1 :(得分:1)
您的代码很好,问题是PHP发送电子邮件的机制。在Windows中,没有开箱即用的解决方案可以使用PHP的mail()函数将电子邮件对比发送到大多数sendmail附带的* NIX系统。
在任何情况下都可以在Windows中实现这样的机制,以允许mail()函数无缝地工作。尽快做到这一点,我不会在这里讨论如何做到这一点。请参阅this clear step-by-step post,您将立即启动并运行。
答案 2 :(得分:0)
您需要使用SMTP服务器才能使用php邮件。 为了使邮件功能可用,PHP需要一个已安装且正常工作的电子邮件系统。要使用的程序由php.ini文件中的配置设置定义。 PHP通常与PEAR邮件包一起打包。在此网站上搜索PEAR Mail。关于它的大量信息。