PHP(5.5),WebMatrix,SMTP和Windows

时间:2016-03-02 19:07:10

标签: php email

我正在寻找有关在Windows 7上设置SMTP以与WebMatrix和PHP5.5一起使用的一些很好的信息

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

我不介意使用哪种解决方案,只要它可以轻松移植到Unix,另外测试我发现的快速和脏的"我将在下面使用的脚本。

我对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 '-->';
};
?>

0 个答案:

没有答案