Ну, у меня проблема, что у меня нет никакой подсказки и я уже прочитал все, что мог найти.Отправка почты php с использованием gmail SMTP don`t прибывает
У меня есть код в php, использующий phpMailer, который использует gmail, письма поступают туда, где они должны, когда php-архив открывается терминалом, но, когда я загружаюсь на сервер, электронные письма просто приходят к окончательной судьбе, если они никогда не приходите на почту.
В моем случае я хочу отправить сообщение по электронной почте [email protected], то есть письмо Gmail.
Я просто не могу понять, почему электронные письма работают только в конечном итоге, когда они отправляются на учетную запись hotmail или gmail ([email protected]), но на экземпляр [email protected] (то есть gmail) не работает.
Заранее благодарен!
код PHP:
<?php
date_default_timezone_set('Etc/UTC');
require 'PHPMailerAutoload.php';
$mail = new PHPMailer();
$mail->SMTPDebug = 2;
$mail->Debugoutput = 'html';
$mail->Host = 'smtp.gmail.com';
$mail->Port = 587; //same problem with other ports
$mail->SMTPSecure = 'tls'; //same problem with ssl
$mail->SMTPAuth = true;
$mail->Username = "[email protected]";
$mail->Password = "password";
$name = strip_tags($_POST['name']);
$email = strip_tags($_POST['email']);
$message = strip_tags($_POST['message']);
$mail->setFrom($email, $name);
$mail->addAddress('[email protected]', 'exemple Name');
$mail->Subject = 'Contact';
$mail->Body = $message;
if (!$mail->send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
EDIT:
я узнал ответ, мой сервер был от GoDaddy, так:
GoDaddy
Популярные США хостинг-провайдер GoDaddy накладывает очень строгие (вплоть до почти бесполезного) ограничения на отправку электронной почты. Они блокируют исходящий SMTP для портов 25, 465 и 587 для всех серверов, кроме их собственных. Эта проблема является предметом многих разочаровывающих вопросов о переполнении стека. Если вы обнаружите, что ваш скрипт работает на вашем локальном компьютере, но не при загрузке его в GoDaddy, это будет то, что происходит с вами. Решение очень плохо задокументированы GoDaddy: Вы должны послать через свои серверы, а также отключить все функции безопасности, имя пользователя и пароль (большой, да ?!), что дает вам этот конфиг для PHPMailer:
$mail->isSMTP();
$mail->Host = 'relay-hosting.secureserver.net';
$mail->Port = 25;
$mail->SMTPAuth = false;
$mail->SMTPSecure = false;
GoDaddy also refuses to send with a From add
ССГ принадлежность для любых доменов aol, gmail, yahoo, hotmail, live, aim или msn (см. их документы). Это связано с тем, что все эти области развертывают анти-фальшивые меры SPF и DKIM, а подделка вашего адреса - подделка.
Возможно, вам будет легче переключиться на более просвещенного хостинг-провайдера.
что такое сообщение об ошибке, что вы получите? – Sooraj
Если отправленное вами письмо прибывает в hotmail и gmail и не работает в companyName.io, проблема возникает в companyName.io (а не в вашем скрипте). Может быть, есть брандмауэр или фильтр, и он получает спам? –
@Sooraj я не получаю ошибки, php посылает электронное письмо, но если это не gmail, он никогда не прибывает:/ –