我正在尝试使用Gmail作为服务器发送邮件。电子邮件永远不会发送,也没有给出确认或错误消息。安装了Mail,Net_SMTP和Net_Socket pear包。我设置代理,并可以通过cmd连接到互联网。 “发送”之后的回声从不出现,但之前的回声是,这意味着连接状态为空。任何人都可以看到我遗失的东西/误解吗?
PHP:
if (isset($_POST['submit'])){
error_reporting(0);
$human = $_POST['human'];
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$to = 'toreceive@gmail.com';
$body = "$message";
$header = array (
'From' => 'tosend@gmail.com',
'Subject' => 'Hello'
);
$smtp = Mail::factory('smtp', array(
'auth' => true,
'host' => 'ssl://smtp.gmail.com',
'port' => '465',
'username' => 'username@gmail.com',
'password' => 'password',
'charset' => 'iso-8859-1'
));
if (connection_status == 0)
echo "<script type='text/javascript'>alert('Before Mail');</script>";
$mail = $smtp->send($to, $header, $body);
echo "<script type='text/javascript'>alert('After Mail');</script>";
if (@PEAR::isError($mail))
echo("<p>" . $mail->getMessage() . "</p>");
else
echo("<p>Message successfully sent!</p>");
}
?>
相关的php.ini:
[mail function]
SMTP = localhost
smtp_port = 25
extension=php_openssl.dll
extension=php_sockets.dll