我在 Stacked overflow 和其他论坛上发现了很多关于使用批处理文件发送电子邮件的帖子,例如:Send email using the GMail SMTP server from a PHP page
但似乎没有一个对我有用...我已经能够安排任务...使用 Windows 任务计划程序并编写了批处理文件:
@ echo 启动 C:\wamp\bin\php\php5.3.1\php.exe -f C:\wamp\www\email.php
PHP 文件显示了一个简单的脚本,如下所示:
<?php
require_once "Mail.php";
$from = "Prashant Yahoo <prashant.balan@yahoo.co.in>";
$to = "Prashant Hotmail <prashant.balan@hotmail.com>";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";
$host = "ssl:\\smtp.gmail.com";
$port = "465";
$username = "<user@gmail.com>"; or user.gmail.com as stated in the above SO link
$password = "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>");
}
?>
我已经在我的本地主机上安装了 PEAR 以及我需要的一切。我什至下载了最新的 OpenSSL 并替换了必要的文件,并按照此处的指示设置了环境变量: http://raibledesigns.com/wiki/Wiki.jsp?page=ApacheSSL
我收到以下错误:
无法连接到 ssl://smtp.gmail.com:465 [SMTP:无法连接套接字:无法找到套接字传输“ssl”- 你是不是在配置 PHP 时忘记启用它? (代码:-1,响应:)]
如何解决?请帮助..
回答 打开 C:\PHP 中的 PHP.INI 文件,或者在我的例子中是 C:\WAMP\BIN\PHP\PHP 5.3.8 并删除前面的分号: extension=php_openssl.dll 和 extension=php_sockets.dll 希望这会帮助别人! ~~~~~~ 特别感谢 Tomas ~~~~~~~
最佳答案
回答
打开 C:\PHP 中的 PHP.INI 文件,或者在我的例子中是 C:\WAMP\BIN\PHP\PHP 5.3.8 并删除前面的分号:extension=php_openssl.dll 和extension=php_sockets.dll 希望这对其他人有帮助! ~~~~~~ 特别感谢 Tomas ~~~~~~~
关于php - 如何获取批处理文件使用 PHP 发送电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8444299/