Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 21.11.2013
Сообщений: 18
1

Не приходят письма через sendmail

23.02.2018, 14:41. Показов 2694. Ответов 14
Метки нет (Все метки)

С сервера не приходят письма, отправленные через sendmail, отправляются, но в ящике не появляются, спам проверял, на другой ящик отправлять пробовал. в php.ini
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25
 
; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = me@example.com
 
; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = /usr/sbin/sendmail -t -i
 
; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail(), even in safe mode.
;mail.force_extra_parameters =
 
; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
mail.add_x_header = On
 
; The path to a log file that will log all mail() calls. Log entries include
; the full path of the script, line number, To address and headers.
;mail.log =
Пробовал удалить и установить заново, изменилось только то, что перед отправкой скрипт стал долго думать, но все так же, сообщение об успехе и нигде нет сообщения. Подскажите куда копать, спасибо.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.02.2018, 14:41
Ответы с готовыми решениями:

Через форму обратной связи не приходят письма
Уважаемые форумчане, помогите пожалуйста девушке разобраться почему не приходят письма на почту...

Не приходят письма через форму обратной связи
Всем привет, скачал шаблон, но не могу настроить форму обратной связи. Воспользовался поиском,...

Через форму обратной связи не приходят письма
Уважаемые форумчане, помогите пожалуйста разобраться почему не приходят письма на почту через форму...

Через форму обратной связи не приходят письма - PHP
Здравствуйте! Столкнулся с проблемой, которая возникала у многих. С формы обратной связи...

14
1111 / 554 / 318
Регистрация: 21.06.2012
Сообщений: 1,854
23.02.2018, 17:16 2
Разные "ящики" тестировали или один?
0
0 / 0 / 0
Регистрация: 21.11.2013
Сообщений: 18
23.02.2018, 18:07  [ТС] 3
На разные ящики пробовал слать, да, на разных серверах (яндекс, гугл) еще в логах вот такое нашел:
PHP
1
Feb 23 16:09:31 podboravto sendmail[7510]: w1ND91Gd007510: to=myemail@gmail.com, ctladdr=webmaster@site.ru (503/504), delay=00:00:30, xdelay=00:00:30, mailer=relay, pri=30094, relay=[127.0.0.1] [127.0.0.1], dsn=4.0.0, stat=Deferred: Connection timed out with [127.0.0.1]
0
1111 / 554 / 318
Регистрация: 21.06.2012
Сообщений: 1,854
23.02.2018, 18:28 4
Если это денвер на виндовсе, то: http://ektcs.ru/rabota_s_denwer/ Пункт 4
0
0 / 0 / 0
Регистрация: 21.11.2013
Сообщений: 18
23.02.2018, 18:34  [ТС] 5
нет, вебсервер на centos.6
0
5 / 5 / 3
Регистрация: 07.11.2017
Сообщений: 118
25.02.2018, 13:38 6
antracit, проблема может быть в настройках DKIM сейчас если этой настройки нет то письма ни куда не попадут, как раз как в вашем случае
0
0 / 0 / 0
Регистрация: 21.11.2013
Сообщений: 18
25.02.2018, 20:12  [ТС] 7
kurs74, действительно не было настроено, проделал то, что описано здесь. Не помогло, А может есть какой-то мануал чтоб настроить смтп через гугл или яндекс, например. я почему-то видел только для локалки такие инструкции...

Добавлено через 18 минут
и еще момент, выполнил проверку и вот результат
PHP
1
2
# ls -la `which sendmail`                                                                       
lrwxrwxrwx 1 root root 21 Feb 22 17:29 /usr/sbin/sendmail -> /etc/alternatives/mta
там получается вообще не sendmail? так я понял? Почему там ссылка?
Пошел дальше, а там mta > /usr/sbin/sendmail.sendmail я правильно понимаю что тут цикл какой-то выходит?
0
5 / 5 / 3
Регистрация: 07.11.2017
Сообщений: 118
26.02.2018, 10:11 8
antracit, переведите домен на яндекс, у яндекса есть подробные инструкции как сделать все эти настройки, с DKIM тоже были проблемы, самый простой выход из ситуации для меня был перевести почту на яндекс

Добавлено через 41 секунду
почта для домена вроде называется

Добавлено через 8 минут
antracit, mail('test@example.com', 'Письмо из скрипта', 'Привет, Василий! Как дела?') такой вариант не срабатывает тоже?

Добавлено через 3 минуты
PHP
1
2
3
4
5
6
7
8
9
10
11
12
$from = "info@сайт.ru";
    $title = 'Заявка ' . $host;
    $text = "<b>Имя:</b><br />";
    $text.= "<b>Телефон:</b> <br />";
   
    $boundary = "--".md5(uniqid(time())); 
    $headers = "MIME-Version: 1.0;\r\n"; 
    $headers .="Content-Type: multipart/mixed; boundary=\"$boundary\"\r\n"; 
    $headers .= "From: info@сайт.ru ";
    $headers .= "Reply-To: " . $from . "\r\n";
    $headers .= "Content-type: text/html; charset=\"utf-8\";" . "\r\n";
    mail($notification_email, $title, $text, $headers);
1
299 / 250 / 66
Регистрация: 15.09.2017
Сообщений: 1,151
26.02.2018, 13:32 9
Цитата Сообщение от antracit Посмотреть сообщение
kurs74, действительно не было настроено
Можно без DKIM, тем более если не умеете настраивать.

Цитата Сообщение от antracit Посмотреть сообщение
А может есть какой-то мануал чтоб настроить смтп через гугл или яндекс, например.
Почтовый сервер можно настроить в том числе и так. Это будет работать прозрачно для вашего скрипта. Также можно попробовать использовать разные недобиблиотеки, написанные непосредственно на PHP. Тоже будет работать, хоть и со скрежетом. Наверно лучше выбрать золотую середину, т.е. на PHP только подписывать, хотя со своим сервером и это совершенно лишнее.

Цитата Сообщение от antracit Посмотреть сообщение
там получается вообще не sendmail? так я понял? Почему там ссылка?
Для сервера это нормально. Там должна быть прокладка для почтового сервера. Но настроено, естественно, должно быть правильно. Цикла не увидел: sendmail.sendmail - это не sendmail.

Добавлено через 8 минут
kurs74, какое отношение перенос домена на серверы Яндекса имеет к подписыванию писем при программной отправке? Если вы используете и Яндекс.Почту для домена, и программную отправку писем, то вам нужны две отдельные ресурсные записи для DKIM.

Скрипт - это нечто. Прежде чем пытаться использовать формат multipart/mixed, для начала бы не мешало его изучить.

Добавлено через 10 минут
Если вы шлете себе и можете извлекать письма в HTML-формате, то достаточно только этого формата. Причем нужно кодировать HTML-знаки, чтобы вам теги не понаписали. По-моему, тут во всех отношениях лучше использовать "плоский" текстовый формат.
1
0 / 0 / 0
Регистрация: 21.11.2013
Сообщений: 18
26.02.2018, 19:32  [ТС] 10
kurs74, ка верно заметил Phantom-84, тут дело в программной отправке (форма обратной связи на сайте, например), а пдд на яндекс давно настроена. С учетом того, что на сервере несколько сайтов с "недобиблиотеками" морочиться не хочу и это костыль. Сегодня прихворнул, а так вообще попробую покрутить разные почтовые службы типа постфикс, сендмэйл и т.д., потихоньку начинаю врубаться в принцип. Задача не критичная, просто разобраться хочется для себя. Спасибо за советы, будем продолжать.
0
0 / 0 / 0
Регистрация: 21.11.2013
Сообщений: 18
28.02.2018, 21:38  [ТС] 11
И так, я решил попробовать покрутить postfix и по примеру одного и мануалов настроил отправку через smtp eandex. в логах заметил что операция рвется из-за тайм-аута. протестировал коннект с 25 портом и вижу
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
# telnet smtp.yandex.ru 25                                                                      
Trying 77.88.21.38...                                                                                              
telnet: connect to address 77.88.21.38: Connection timed out                                                       
Trying 213.180.204.38...                                                                                           
telnet: connect to address 213.180.204.38: Connection timed out                                                    
Trying 93.158.134.38...                                                                                            
telnet: connect to address 93.158.134.38: Connection timed out                                                     
Trying 87.250.250.38...                                                                                            
telnet: connect to address 87.250.250.38: Connection timed out                                                     
Trying 213.180.193.38...                                                                                           
telnet: connect to address 213.180.193.38: Connection timed out                                                    
Trying 2a02:6b8::38...                                                                                             
telnet: connect to address 2a02:6b8::38: Connection timed out
никак не могу понять, почему? Как я понимаю надо начинать с исправления именно этого.
0
299 / 250 / 66
Регистрация: 15.09.2017
Сообщений: 1,151
01.03.2018, 12:26 12
Если вы через сторонний ящик делаете отправку, а не напрямую, вы должны подключаться, как клиент (с аутентификацией по защищенному протоколу, порт 465).
0
0 / 0 / 0
Регистрация: 21.11.2013
Сообщений: 18
01.03.2018, 17:34  [ТС] 13
Phantom-84, а в php.ini менять надо что-то? я попробовал сменить
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = localhost
; http://php.net/smtp-port
smtp_port = 25
 
; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = me@example.com
 
; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = /usr/sbin/sendmail -t -i
 
; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail(), even in safe mode.
;mail.force_extra_parameters =
 
; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
mail.add_x_header = On
 
; The path to a log file that will log all mail() calls. Log entries include
; the full path of the script, line number, To address and headers.
;mail.log =
на
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
[mail function]
; For Win32 only.
; http://php.net/smtp
;SMTP = localhost
SMTP = ssl://smtp.yandex.ru/
; http://php.net/smtp-port
smtp_port = 465
 
; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = mymail@yandex.ru
 
; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = /usr/sbin/sendmail -t -i
 
; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail(), even in safe mode.
;mail.force_extra_parameters =
 
; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
mail.add_x_header = On
 
; The path to a log file that will log all mail() calls. Log entries include
; the full path of the script, line number, To address and headers.
;mail.log = /var/log/mail.log
в логах вижу
PHP
1
2
3
4
5
6
7
Mar  1 17:29:47 nameserver postfix/pickup[2573]: 79B483F20489: uid=503 from=<webmaster@site.ru>
Mar  1 17:29:47 nameserver postfix/cleanup[3075]: 79B483F20489: message-id=<20180301142947.79B483F20489@nameserver.org>
Mar  1 17:29:47 nameserver postfix/qmgr[2574]: 79B483F20489: from=<webmaster@site.ru>, size=339, nrcpt=1 (queue active)
Mar  1 17:29:49 nameserver postfix/smtp[3077]: connect to mx.yandex.ru[213.180.193.89]:25: Connection timed out
Mar  1 17:29:50 nameserver postfix/smtp[3061]: connect to mx.yandex.ru[77.88.21.89]:25: Connection timed out
Mar  1 17:29:50 nameserver postfix/smtp[3061]: 2DBFA3F20477: to=<mymail@ya.ru>, relay=none, delay=59330, delays=59255/0.03/75/0, dsn=4.4.1, status=deferred (connect to mx.yandex.ru[77.88.21.89]:25: Connection timed out)
Mar  1 17:29:50 nameserver postfix/smtp[3062]: connect to mx.yandex.ru[213.180.193.89]:25: Connection timed out
postfix перезапускал sudo /etc/init.d/postfix restart не понимаю почему пытается коннэктить по 25-му? Сами настройки postfix как рекомендовано тут
0
299 / 250 / 66
Регистрация: 15.09.2017
Сообщений: 1,151
02.03.2018, 09:54 14
Цитата Сообщение от antracit Посмотреть сообщение
а в php.ini менять надо что-то?
Обычно нет. Система должна быть настроена под команду по умолчанию, указанную в конфигурационном файле PHP. А прочие параметры можно указать непосредственно в функции mail (4 и 5 параметры). Разве что добавление "x_header" можно тут отключить, но это никак на возможность отправки писем не влияет. Во From будет лучше указать адрес того почтового ящика, через который отправляете (аутентификационные данные которого указываете).

К какому порту вы указали "коннэктить", к такому и коннэктится. 25 порт вряд ли будет работать. Я посмотрел, какие параметры соединения рекомендует использовать Яндекс при отправке, их вам выше и указал. Еще можете попробовать MSA-порт (587). Также проверьте в настройках Яндекс-аккаунта, не нужно ли прежде открыть доступ.

Адреса на подобии webmaster@site.ru - это не серьезно.

Добавлено через 30 минут
...Вы видите, что там выше написано "For Win32 only"? Вам почтовый сервер нужно настраивать, а не PHP. С PHP у вас все в порядке, раз почтовый сервер реагирует на использование функции mail в скрипте. Или вы тестируете отправку без использования PHP?
0
5 / 5 / 3
Регистрация: 07.11.2017
Сообщений: 118
03.03.2018, 00:02 15
Phantom-84, если использовал multipart/mixed значит так нужно было, я тут не весь скрипт показал который использую часть вырезал. Про DKIM хватает и одной записи, и для майл ру она теперь обязательная
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.03.2018, 00:02

Отправка письма php. Письма со скрипта на локальном сервере (Denwer) не приходят на почту.
Доброго Времени Суток!!! Я запускаю Денвером php скрипт со следующим кодом &lt;?php $name=$_GET;...

Письма отправленные sendmail не доходят до адресата
Добрый день! Понимаю что тема избитая, но все же не могу понять в чем я туплю, с локалки не...

Не приходят письма на mail.ru
Здравствуйте! вот такая проблема на сайте есть форма обратной связи и php который должен отправлять...

Не приходят письма на mail.ru
Не понимаю в чем дело. На яндекс письма приходят, а вот на мail нет. Что за конфиг необходимо...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru