powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Проблема с mail(). Бага?
10 сообщений из 10, страница 1 из 1
Проблема с mail(). Бага?
    #40022952
FreeAdman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем добрый день!

С этой почтой можно сойти с ума.

Отправляю почту через mail().

Текст письма содержится в $_POST['my_message'].

Код: php
1.
mail('aaa@dom.net', 'subject', $_POST['my_message']);



Фишка в том, что письмо проверку DKIM не проходит. Гугл ругается: dkim "body hash did not verify". Отправляющий SMTP hMailServer 5.6.7 под Windows 2012.

Беру текст из $_POST['my_message'] и вставляю прямо в функцию mail()

Код: php
1.
mail('aaa@dom.net', 'subject', 'my text');



и проверка DKIM проходит.

Т.е. если в mail() указать текст явно или же отправить письмо с почтового клиента - всё отлично. Стоит в mail() вставить $_POST['my_message'] в параметр текста - отшибает DKIM.

Где может быть подводный камень ?

Получается, что где-то как-то меняется тело e-mail. Как???
...
Рейтинг: 0 / 0
Проблема с mail(). Бага?
    #40022956
FreeAdman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
php 5.4.13.
на php-7.1.3-x64 ситуация не изменилась.
...
Рейтинг: 0 / 0
Проблема с mail(). Бага?
    #40022962
FreeAdman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Обернул содержимое $_POST['my_message'] в base64 и всё работает.
Видимо какие-то символы создают чудеса.
...
Рейтинг: 0 / 0
Проблема с mail(). Бага?
    #40022971
FreeAdman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решил проблему.

Код: php
1.
2.
3.
4.
$headers = 'Content-Transfer-Encoding: base64' . "\r\n";
$_POST['my_message'] = base64_encode($_POST['my_message']);

mail('aaa@dom.net', 'subject', $_POST['my_message'], $headers);
...
Рейтинг: 0 / 0
Проблема с mail(). Бага?
    #40023783
estic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FreeAdman
Решил проблему.
Частично. Почитайте документацию, чтобы пореже обвинять в чем-то mail() и поменьше иметь "багов" в собственном коде.
...
Рейтинг: 0 / 0
Проблема с mail(). Бага?
    #40023786
estic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можете просто внимательно просмотреть служебные заголовки и исходное содержимое писем, пришедших вам от тех программ, которые выполняют отправку писем по всем правилам ;)
...
Рейтинг: 0 / 0
Проблема с mail(). Бага?
    #40032736
FreeAdman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
estic, касательно документации
https://www.php.net/manual/ru/function.mail.php

В примерах официальных текст без особых изменений девается куда? Напрямую в Mail()! Поэтому кого или что обвинять ?

Придумали Mail() для чего-то, а она корявая, за неё надо и заголовки смотреть, и содержимое кодировать. Так делать не надо
...
Рейтинг: 0 / 0
Проблема с mail(). Бага?
    #40033085
estic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FreeAdman, она не "корявая", а наоборот самая прямая, но, как вы верно заметили, нужно знать во всех деталях формат письма, чтобы его правильно сформировать и отправить при помощи этой функции. Я именно документацию по формату письма имел в виду.

Если для вас это сложно, используйте библиотеки с более высокоуровневыми функциями для отправки писем. Вас никто не заставлял использовать эту функцию ;)
...
Рейтинг: 0 / 0
Проблема с mail(). Бага?
    #40033106
FreeAdman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
estic,

в данном случае это изврат использовать сторонний мыльный друпал. И не нужно давать такой пример - использовать сторонние "друпальные ораплы монстроидальные", когда можно нормально сделать без них
...
Рейтинг: 0 / 0
Проблема с mail(). Бага?
    #40037471
estic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FreeAdman, ну, так сделайте. Для этого как минимум нужно прочитать документацию по формату письма ;)
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Проблема с mail(). Бага?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]