Предотвращение отправки отправленных писем как нежелательной почты с помощью функции php - PullRequest
14 голосов
/ 14 апреля 2009

Я написал скрипт PHP для отправки писем.

Мой скрипт такой:

$headers =  'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: abc@yahoo.com' . "\r\n";

// Email Variables
$toUser  = "someone@yahoo.com"; // recipient
$subject = "testing"; // subject
$body    = "<html><body><p>
             Example of including an image via html \<img\> tag:
             <br>
             <img src='../images/profile.jpg'>
             <br>
             My new picture
             <br></p></body></html>"; // content

if (mail($toUser,$subject,$body,$headers)) {
    echo "sent";
} else {
    echo "failed";
}

Ну, конечно, я использую действительный адрес электронной почты для отправителя и получателя. Я получил электронное письмо, но оно отправляется на нежелательную почту. Так что я пошел на исследование Google. Это из-за моей проблемы скрипта "header"? Если это не так, то что может заставить мой скрипт отправлять нежелательную почту? Любое решение?

Ответы [ 14 ]

1 голос
/ 14 апреля 2009

Как сказал schnalle, одна из проблем, безусловно, заключается в том, что сервер smtp, который вы используете для отправки электронной почты, и тот, который вы указываете как От, отличается ... Домен from должен быть таким же, как сервер, на котором вы работаете.

Итак, вы можете использовать сервер Yahoo для отправки электронной почты (проверьте, разрешают ли они удаленное SMTP-соединение, но я полагаю, что они это делают), подключаясь по SMTP, и это решит 1 проблему.

Еще одним является html-содержимое без альтернативного простого текстового содержимого, но это менее важно.

Я предлагаю вам phpMailer , бесплатный PHP-класс с открытым исходным кодом для простой отправки по электронной почте (я использую это событие для отправки почты через сервер Gmail)

0 голосов
/ 06 января 2011

Вы можете попробовать почтовый класс и тестовый файл, который я создал здесь. Я проверил файлы и могу отправлять электронные письма на мой hotmail и gmail под другим почтовым именем. Основная причина, по которой письма помечаются как нежелательные, заключается в том, что структура (как заголовок, так и сообщение) выполнена неправильно. В большинстве случаев проблема заключается в переводе строки.

Я могу использовать его для отправки почты с вложениями в Gmail. Тем не менее, вложения не работают для Hotmail. Надеюсь, это поможет =)

Вы можете проверить файлы здесь ..

0 голосов
/ 14 апреля 2009

У вас есть два решения:

  • используйте SMTP от Yahoo, используя учетные данные abc@yahoo.com для отправки почты с abc@yahoo.com;
  • использовать другие, с вашим собственным доменом;
0 голосов
/ 14 апреля 2009

проблема в том, что сервер, с которого вы отправляете почту, не является сервером Yahoo. большинство спам-фильтров проверяют, совпадают ли они, иначе было бы (и есть) возможность легко подделать отправителя. Вы когда-нибудь задумывались, почему вы получаете спам с bill.gates AT microsoft.com или с вашего собственного почтового адреса?

...