从 PHP 页面使用 GMail SMTP 服务器发送电子邮件
我正试图让这个工作。根据给定链接中的答案“它是工作代码,所以使用它”。除非它对我不起作用。
尤其是:
<?php
require_once "Mail.php";
$from = "<xxxxx.gmail.com>";
$to = "<xxxxx.gmail.com>";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";
$host = "smtp.gmail.com";
$port = "465";
$username = "xxxxx@gmail.com";
$password = "*****";
$headers = array ('From' => $from,
'To' => $to,
'Subject' => $subject);
$smtp = Mail::factory('smtp',
array ('host' => $host,
'port' => $port,
'auth' => true,
'username' => $username,
'password' => $password));
$mail = $smtp->send($to, $headers, $body);
if (PEAR::isError($mail)) {
echo("<p>" . $mail->getMessage() . "</p>");
} else {
echo("<p>Message successfully sent!</p>");
}
?> <!-- end of php tag-->
产生:
严格标准:非静态方法 Mail::factory() 不应在第 23 行的 F:\xampp\htdocs\test\index.php 中静态调用
严格标准:不应静态调用非静态方法 PEAR::isError(),假设 $this 来自第 365 行的 F:\xampp\php\PEAR\Mail\smtp.php 中的不兼容上下文
严格标准:不应静态调用非静态方法 PEAR::isError(),假设 $this 来自第 450 行的 F:\xampp\php\PEAR\Net\SMTP.php 中的不兼容上下文
严格标准:不应静态调用非静态方法 PEAR::isError(),假设 $this 来自第 467 行 F:\xampp\php\PEAR\Net\SMTP.php 中的不兼容上下文
虽然 phpinfo() 提供注册的套接字:
tcp、udp、ssl、sslv3、sslv2、tls
但最重要的是,没有发送电子邮件。