Подтвердить что ты не робот

Предотвращать отправку писем, обрабатываемых как нежелательные письма, используя функцию php mail

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

Мой script выглядит следующим образом:

$headers =  'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: [email protected]' . "\r\n";

// Email Variables
$toUser  = "[email protected]"; // 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. Это из-за моей проблемы с заголовком script? Если это не так, то что может заставить мой script отправить нежелательную почту? Любое решение?

4b9b3361

Ответ 1

Пожалуйста, попробуйте следующее:

$headers ="From:<$from>\n";
$headers.="MIME-Version: 1.0\n";
$headers.="Content-type: text/html; charset=iso 8859-1";

mail($to,$subject,$body,$headers,"-f$from");

Ответ 2

Возможно, проблема заключается в том, что yahoo использует проверку domainkeys, которая, скорее всего, не удастся для вашего приложения, учитывая, что почта фактически не поступает из yahoo.

Ответ 3

Когда у меня была аналогичная проблема, я просмотрел заголовки и узнал, что мой хост использует SpamAssassin. Поэтому я искал "SpamAssassin score" и нашел множество информации о том, как неправильно (и, следовательно, правильно) создать электронное письмо.

Например: список баллов SpamAssassin

Ответ 4

1. Проверка содержимого почты

Как намекают другие, это, вероятно, отмечено как спам, потому что ваша почта выглядит как спам.

Я не уверен, что вы script, который вы опубликовали, является фактическим, который вы тестируете.

Если у него есть фактический почтовый ящик и заголовки, тогда запуск этого сообщения через стандартную установку SpamAssassin дает ему оценку спама 4.9

X-Spam-Status: No, score=4.9 required=5.0 tests=BAYES_50,HTML_IMAGE_ONLY_04,
        HTML_MESSAGE,MIME_HTML_ONLY,NO_DNS_FOR_FROM,NO_RELAYS autolearn=no
        version=3.2.5

Поскольку тело электронной почты имеет только HTML, у него больше шансов быть обработанным подозреваемым большинством антиспамовых решений.

2. IP-адрес почтового сервера

Другим аспектом, который стоит проверить, будет IP-адрес вашего почтового сервера. Любая почта, исходящая из динамических IP-адресов, потенциально может рассматриваться как СПАМ.

3. Блокировщики

Также проверьте, указан ли ваш IP-адрес в одном из списков блоков. Для начала проверьте свой IP-адрес http://www.spamhaus.org/lookup.lasso.

Ответ 5

Используйте mxtoolbox.com, чтобы проверить, что IP-адреса серверов в черный список или нет. Кроме того, этот веб-сайт может помочь вам с несколькими проверками, связанными с электронной почтой.

Конечно, в фильтрах спама имеется длинный список проверок. Как уже было предложено, проверьте заголовки электронной почты для получения подробной информации о рейтинге спам-фильтров спам-сообщения.

Надеюсь, что это поможет!

Ответ 6

если домен вашего сайта - mydomain.com, то в заголовках From обязательно используйте [email protected]

Ответ 7

У меня была та же проблема:

Проблема заключается в том, что когда вы указываете тип контента перед частью "От:", почта приходит как спам.

Но если вы укажете "От:" перед частью контента, это будет обычная почта и заставит вас улыбнуться и любоваться.

Ответ 8

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

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

Другим является содержимое html без альтернативного содержимого обычного текста, но это менее важно.

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

Ответ 9

  • На вашем сервере попробуйте выполнить сортировку записей SPF (Отправитель политики, Google для записи SPF).
  • Убедитесь, что вы отправляете свои электронные письма из существующей учетной записи на своем сервере/домене.
  • Убедитесь, что у вас есть ответ на адрес в заголовке.

Это основные вещи, которые вы можете попробовать.

Ответ 10

Удалите Content-type: text/html и добавьте $headers .= "X-Priority: 2\nX-MSmail-Priority: high";, чтобы избавиться от спама. Этот метод проверен и проверен.

Ответ 11

                   **This Works Perfectly fine for me**     
                        $to="[email protected]";
                        $subject="This is Your Message";
                        $from = 'Sender <[email protected]>';
                        $body='Hi '.$name.', <br/><br>Now You can See Yor main in inbox';
                        $headers = "From: " .($from) . "\r\n";
                        $headers .= "Reply-To: ".($from) . "\r\n";
                        $headers .= "Return-Path: ".($from) . "\r\n";;
                        $headers .= "MIME-Version: 1.0\r\n";
                        $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
                        $headers .= "X-Priority: 3\r\n";
                        $headers .= "X-Mailer: PHP". phpversion() ."\r\n";
                        mail($to,$subject,$body,$headers);

Ответ 12

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

Ответ 13

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

  • использовать SMTP SMTP с помощью [email protected] учетных данных для отправки почты с [email protected];
  • использовать другие, с вашим собственным доменом;

Ответ 14

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

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

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