Эй парни, я пытаюсь послать электронное письмо с помощью своей учетной записи Gmail, и я получаю ошибку по некоторым причинам. Кто-либо знал бы, почему это даст мне эту ошибку? Сценарий:
<?php
set_include_path("/usr/share/php");
include("Mail.php");
$from = "email <email address>";
$to = "<Emailaddress>";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";
$host = "smtp.gmail.com";
$username = "myGmailusername@gmail.com";
$password = "myPassword";
$headers = array ('From' => $from,
'To' => $to,
'Subject' => $subject);
$smtp = Mail::factory('smtp',
array ('host' => $host,
'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>");
}
?>
Страница разрешает, когда я перехожу к ней, но дает следующую ошибку:
Failed to connect to smtp.gmail.com:25 [SMTP: Failed to connect socket: Connection refused (code: -1, response: )]
Сначала попробуйте поискать здесь:
Отправить электронную почту с помощью SMTP-сервера GMail со страницы PHP
Да, похоже, подключение не к тому порту. Он подключается к порту 25, когда он должен подключиться к 465. Прочтите документацию и посмотрите, как вы можете настроить порт для своего класса. Также необходимо подключиться с помощью ssl, вот пример того, как заставить его работать: