PHP(5.5)、WebMatrix、SMTP和windows
我正在寻找一些关于在Windows7上设置SMTP以便与WebMatrix和PHP5.5一起使用的好信息 我尝试了一些标准的YouTube教程,但它们要么缺少SMTP和PHP之间的集成,要么完全忽略SMTP设置和配置,其他所有教程都使用Linux或MacOSx 我真的不介意使用哪个解决方案,只要它可以很容易地移植到Unix,另外为了测试SMTP设置,我找到了一个“快速脏”的脚本,我将在下面介绍它 我对SMTP和PHP非常陌生,所以我唯一能确定的是我应该在代码中更改电子邮件,但看不到我应该告诉它在哪里使用localhost作为服务器。 谢谢你的帮助 测试脚本:PHP(5.5)、WebMatrix、SMTP和windows,php,email,Php,Email,我正在寻找一些关于在Windows7上设置SMTP以便与WebMatrix和PHP5.5一起使用的好信息 我尝试了一些标准的YouTube教程,但它们要么缺少SMTP和PHP之间的集成,要么完全忽略SMTP设置和配置,其他所有教程都使用Linux或MacOSx 我真的不介意使用哪个解决方案,只要它可以很容易地移植到Unix,另外为了测试SMTP设置,我找到了一个“快速脏”的脚本,我将在下面介绍它 我对SMTP和PHP非常陌生,所以我唯一能确定的是我应该在代码中更改电子邮件,但看不到我应该告诉它在
<?php
/*
DONT FORGET TO DELETE THIS SCRIPT WHEN FINISHED!
*/
ini_set( 'display_errors', 1 );
error_reporting( E_ALL );
$from = 'webmaster@example.com';
/*
ini_set( 'SMTP', 'smtp.example.com' );
ini_set( 'SMTP_PORT', 25 );
ini_set( 'sendmail_from', $from );
*/
$server = array(
'HTTP_HOST', 'SERVER_NAME', 'SERVER_ADDR', 'SERVER_PORT',
'SERVER_ADMIN', 'SERVER_SIGNATURE', 'SERVER_SOFTWARE',
'REMOTE_ADDR', 'DOCUMENT_ROOT', 'REQUEST_URI',
'SCRIPT_NAME', 'SCRIPT_FILENAME',
);
$to = ( isset( $_GET['email'] ) ? $_GET['email'] : FALSE );
$subject = 'Mail Test Successful for ' . $_SERVER['HTTP_HOST'];
$message = '';
if ( ! $to )
{
echo '<strong>Set $_GET[\'email\'].</strong>';
exit;
};
foreach ( $server as $s )
{
$message .= sprintf( '%s: %s', $s, $_SERVER[$s] ) . PHP_EOL;
};
$headers = 'From: ' . $from . PHP_EOL
. 'Reply-To: ' . $from . PHP_EOL
. 'X-Mailer: PHP/' . phpversion();
if ( isset( $_GET['send'] ) && $_GET['send'] === 'true' )
{
$success = mail( $to, $subject, $message, $headers );
}
else
{
echo '<strong>Set "<a href="./?email=' . $to . '&send=true">'
. './?email=' . $to . '&send=true</a>" to send a test e-mail.</strong>';
};
if ( isset( $success ) )
{
echo 'E-mail sent to: ' . $to;
echo '<br />';
echo 'Successful mail?: <strong ' . ( $success ? 'style="color:green;">YES' : 'style="color:red;">NO' ) . '</strong>';
}
else
{
echo '<br />';
echo 'E-mail set as: '.$to;
};
echo '<hr />';
echo '<style> * { font-family: Helvetica, Arial, sans-serif; } th { text-align: left; } td { padding: 3px 5px; } </style>';
echo '<table>';
foreach ( $server as $s )
{
echo '<tr><th>$_SERVER[\'' . $s . '\']</th><td>' . $_SERVER[$s] . '</td></tr>';
};
echo '</table>';
if ( isset( $success ) )
{
echo '<!--';
var_dump( $success );
echo '-->';
};
?>
有史以来最糟糕的主题之一,只包含属于标签的内容。我相信你能做得更好!对不起,这是漫长的一天。我会努力做得更好。不要使用mail()
函数。使用这样的邮件库可以打开一个套接字,这样您就可以控制和调试所发生的事情。2.我不建议运行自己的SMTP服务器(那里有很多陷阱)。我强烈建议使用SMTP服务为您转发电子邮件(即Amazon SES),这纯粹是为了测试,因此使用一些复杂的库可能有点过火,使用SMTP服务也是如此。我必须将其移植到Unix系统,使其使用自己的SMTP服务,这样才能更好地测试它,而不是将其全部外包。