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

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

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

Код: 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
01.12.2020, 21:56
    #40023783
estic
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с mail(). Бага?
FreeAdman
Решил проблему.
Частично. Почитайте документацию, чтобы пореже обвинять в чем-то mail() и поменьше иметь "багов" в собственном коде.
...
Рейтинг: 0 / 0
01.12.2020, 22:01
    #40023786
estic
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с mail(). Бага?
Можете просто внимательно просмотреть служебные заголовки и исходное содержимое писем, пришедших вам от тех программ, которые выполняют отправку писем по всем правилам ;)
...
Рейтинг: 0 / 0
30.12.2020, 21:10
    #40032736
FreeAdman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с mail(). Бага?
estic, касательно документации
https://www.php.net/manual/ru/function.mail.php

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

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

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

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


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