【问题标题】:how to get a batch file send a email using PHP?如何使用 PHP 获取批处理文件发送电子邮件?
【发布时间】:2012-01-16 16:12:13
【问题描述】:

我在 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 或在我的情况下为 C:\WAMP\BIN\PHP\PHP 5.3.8 中打开您的 PHP.INI 文件,并删除分号前面的: 扩展=php_openssl.dll 和扩展=php_sockets.dll 希望这对其他人有帮助! ~~~~~~~ 特别感谢 Tomas ~~~~~~~

【问题讨论】:

  • 你确定你启用了 openssl 吗?我不是说已安装,而是启用,它应该会显示在您的 phpinfo 页面上
  • 是:内容如下:OpenSSL 支持已启用 OpenSSL 库版本 OpenSSL 0.9.8r 2011 年 2 月 8 日 OpenSSL 标头版本 OpenSSL 0.9.8r 2011 年 2 月 8 日
  • Tomas,当我使用浏览器执行 php 脚本时.. 它工作正常.. 但是当我使用批处理文件运行时,它显示了我上面描述的错误
  • 哦,我不知道。那好吧。您如何使用脚本在服务器上执行 PHP、mod_php 和 php cli?可能有区别

标签: php ssl smtp gmail pear


【解决方案1】:

回答

在 C:\PHP 或在我的情况下为 C:\WAMP\BIN\PHP\PHP 5.3.8 中打开您的 PHP.INI 文件并删除分号前面的:extension=php_openssl.dll 和extension=php_sockets.dll 希望这对其他人有帮助! ~~~~~~~ 特别感谢 Tomas ~~~~~~~

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-20
    • 2011-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    相关资源
    最近更新 更多