Как получить пакетный файл отправить письмо с помощью PHP? - PullRequest
0 голосов
/ 09 декабря 2011

Я обнаружил множество сообщений на Stacked overflow и других форумах, касающихся отправки электронной почты с использованием командного файла, например: Отправка электронной почты с использованием SMTP-сервера GMail со страницы PHP

Но, похоже, ни однаработать для меня ... Я смог запланировать задачу .. с помощью планировщика задач Windows и написал командный файл:

@ echo start 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, ответ:)]

Как решить эту проблему?Пожалуйста, помогите ..

ОТВЕТ ОТКРЫТЬ ФАЙЛ PHP.INI ВНУТРИ C: \ PHP или, в моем случае, C: \ WAMP \ BIN \ PHP\ PHP 5.3.8 и удалите точку с запятой впереди: extension = php_openssl.dll и extension = php_sockets.dll. Надеюсь, это поможет кому-то еще!~~~~~~ Особая благодарность Томасу ~~~~~~~

1 Ответ

2 голосов
/ 10 декабря 2011

1001 * ОТВЕТ *

Откройте ваш файл PHP.INI внутри C: \ PHP или, в моем случае, C: \ WAMP \ BIN \ PHP \ PHP 5.3.8 и удалите точку с запятой перед: extension = php_openssl.dll extension = php_sockets.dll Надеюсь, это поможет кому-то еще! ~~~~~~ Особая благодарность Томасу ~~~~~~~

...