Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP(5.5)、WebMatrix、SMTP和windows_Php_Email - Fatal编程技术网

PHP(5.5)、WebMatrix、SMTP和windows

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非常陌生,所以我唯一能确定的是我应该在代码中更改电子邮件,但看不到我应该告诉它在

我正在寻找一些关于在Windows7上设置SMTP以便与WebMatrix和PHP5.5一起使用的好信息

我尝试了一些标准的YouTube教程,但它们要么缺少SMTP和PHP之间的集成,要么完全忽略SMTP设置和配置,其他所有教程都使用Linux或MacOSx

我真的不介意使用哪个解决方案,只要它可以很容易地移植到Unix,另外为了测试SMTP设置,我找到了一个“快速脏”的脚本,我将在下面介绍它

我对SMTP和PHP非常陌生,所以我唯一能确定的是我应该在代码中更改电子邮件,但看不到我应该告诉它在哪里使用localhost作为服务器。 谢谢你的帮助

测试脚本:

<?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 &quot;<a href="./?email=' . $to . '&send=true">'
     . './?email=' . $to . '&send=true</a>&quot; 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服务,这样才能更好地测试它,而不是将其全部外包。