настройка sendmail для функции php mail()

Автор Iflex, 14 декабря 2014, 14:42:07

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Iflex

Всем доброго дня.

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

Задача в том, чтобы веб-сервак отрабатывал PHP функцию mail();
сервак Debian 7.7, nginx+php-fpm, php работает нормально; плюс ко всему, по умолчанию стоит sendmail (в котором я нуб  ::) ).

Если на php написать пустую страницу с одной функцией mail, и запустить выполнение, то страница будет долго грузиться и дело закончится таймаутом, но пиьсмо всё-таки придёт адресату ( на google, например, приходит ).

Вопросы:
1) я не понимаю, как работает sendmail. я его не настраивал, адреса smtp-серверов не вводил, логинов и паролей тоже. КАК он отправляет сообщения?  :o
2) в чём может быть проблема долгой отправки?


Сообщение объединено: 14 Декабрь 2014, 15:14:14

Доп. инфо:

Код страницы весьма прост:
<?php
if (mail('mymail@gmail.com''my subject''my message')){
echo 
'всё ок';
}else{
echo 
'всё плохо';
};
?>

Страница грузится секунд 30-40, выдаёт:
504 Gateway Time-out

nginx access.log
[error] 3010#0: *10 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 192.168.1.2, server: web5.localhost, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "web5.webserver.aaa"

/var/log/mail.log
Открыть содержимое (спойлер)
Dec 14 14:58:36 webserver sendmail[6864]: My unqualified host name (webserver) unknown; sleeping for retry
Dec 14 14:59:36 webserver sendmail[6864]: unable to qualify my own domain name (webserver) -- using short name
Dec 14 14:59:36 webserver sendmail[6864]: sBEBxaLC006864: from=www-data, size=100, class=0, nrcpts=1, msgid=<201412141159.sBEBxaLC006864@webserver>, relay=www-data@localhost
Dec 14 14:59:36 webserver sm-mta[6868]: sBEBxaRi006868: from=<www-data@webserver>, size=348, class=0, nrcpts=1, msgid=<201412141159.sBEBxaLC006864@webserver>, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Dec 14 14:59:36 webserver sendmail[6864]: sBEBxaLC006864: to=mymail@gmail.com, ctladdr=www-data (33/33), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30100, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (sBEBxaRi006868 Message accepted for delivery)
Dec 14 14:59:36 webserver sm-mta[6870]: STARTTLS=client, relay=gmail-smtp-in.l.google.com., version=TLSv1/SSLv3, verify=FAIL, cipher=ECDHE-RSA-AES128-GCM-SHA256, bits=128/128
Dec 14 14:59:37 webserver sm-mta[6870]: sBEBxaRi006868: to=<mymail@gmail.com>, ctladdr=<www-data@webserver> (33/33), delay=00:00:01, xdelay=00:00:01, mailer=esmtp, pri=120348, relay=gmail-smtp-in.l.google.com. [64.233.161.26], dsn=2.0.0, stat=Sent (OK 1418558369 cr10si7296311lad.33 - gsmtp)
Dec 14 15:00:01 webserver sm-msp-queue[6889]: My unqualified host name (webserver) unknown; sleeping for retry
Dec 14 15:00:53 webserver sm-mta[6897]: sBEA5rCg005149: Warning: program /usr/sbin/sensible-mda unsafe: No such file or directory
Dec 14 15:00:53 webserver sm-mta[6897]: sBEA5rCg005149: SYSERR(root): Cannot exec /usr/sbin/sensible-mda: No such file or directory
Dec 14 15:00:53 webserver sm-mta[6896]: sBEA5rCg005149: to=linuxuser, ctladdr=<root@webserver> (0/0), delay=01:55:00, xdelay=00:00:00, mailer=local, pri=1110936, dsn=4.0.0, stat=Operating system error
Dec 14 15:00:53 webserver sm-mta[6898]: sBEA0t7s004406: Warning: program /usr/sbin/sensible-mda unsafe: No such file or directory
Dec 14 15:00:53 webserver sm-mta[6898]: sBEA0t7s004406: SYSERR(root): Cannot exec /usr/sbin/sensible-mda: No such file or directory
Dec 14 15:00:53 webserver sm-mta[6896]: sBEA0t7s004406: to=linuxuser, ctladdr=<root@webserver> (0/0), delay=01:59:58, xdelay=00:00:00, mailer=local, pri=1110936, dsn=4.0.0, stat=Operating system error
Dec 14 15:01:01 webserver sm-msp-queue[6889]: unable to qualify my own domain name (webserver) -- using short name
[свернуть]

/var/log/mail.err
Открыть содержимое (спойлер)

Dec 14 14:58:36 webserver sendmail[6864]: My unqualified host name (webserver) unknown; sleeping for retry
Dec 14 14:59:36 webserver sendmail[6864]: unable to qualify my own domain name (webserver) -- using short name
Dec 14 15:00:01 webserver sm-msp-queue[6889]: My unqualified host name (webserver) unknown; sleeping for retry
Dec 14 15:00:53 webserver sm-mta[6897]: sBEA5rCg005149: SYSERR(root): Cannot exec /usr/sbin/sensible-mda: No such file or directory
Dec 14 15:00:53 webserver sm-mta[6898]: sBEA0t7s004406: SYSERR(root): Cannot exec /usr/sbin/sensible-mda: No such file or directory
Dec 14 15:01:01 webserver sm-msp-queue[6889]: unable to qualify my own domain name (webserver) -- using short name
[свернуть]

/var/log/syslog
Открыть содержимое (спойлер)

Dec 14 14:58:36 webserver ool www: mail() on [/home/sharefolder/Webserver/web5/index.php:3]: To: mymail@gmail.com -- Headers:
Dec 14 14:58:36 webserver sendmail[6864]: My unqualified host name (webserver) unknown; sleeping for retry
Dec 14 14:59:36 webserver sendmail[6864]: unable to qualify my own domain name (webserver) -- using short name
Dec 14 14:59:36 webserver sendmail[6864]: sBEBxaLC006864: from=www-data, size=100, class=0, nrcpts=1, msgid=<201412141159.sBEBxaLC006864@webserver>, relay=www-data@localhost
Dec 14 14:59:36 webserver sm-mta[6868]: sBEBxaRi006868: from=<www-data@webserver>, size=348, class=0, nrcpts=1, msgid=<201412141159.sBEBxaLC006864@webserver>, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Dec 14 14:59:36 webserver sendmail[6864]: sBEBxaLC006864: to=mymail@gmail.com, ctladdr=www-data (33/33), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30100, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (sBEBxaRi006868 Message accepted for delivery)
Dec 14 14:59:36 webserver sm-mta[6870]: STARTTLS=client, relay=gmail-smtp-in.l.google.com., version=TLSv1/SSLv3, verify=FAIL, cipher=ECDHE-RSA-AES128-GCM-SHA256, bits=128/128
Dec 14 14:59:37 webserver sm-mta[6870]: sBEBxaRi006868: to=<mymail@gmail.com>, ctladdr=<www-data@webserver> (33/33), delay=00:00:01, xdelay=00:00:01, mailer=esmtp, pri=120348, relay=gmail-smtp-in.l.google.com. [64.233.161.26], dsn=2.0.0, stat=Sent (OK 1418558369 cr10si7296311lad.33 - gsmtp)
Dec 14 15:00:01 webserver /USR/SBIN/CRON[6873]: (smmsp) CMD (test -x /etc/init.d/sendmail && /usr/share/sendmail/sendmail cron-msp)
Dec 14 15:00:01 webserver sm-msp-queue[6889]: My unqualified host name (webserver) unknown; sleeping for retry
Dec 14 15:00:21 webserver named[2914]: error (network unreachable) resolving 'sharp.ondu.ru/A/IN': 2001:678:17:0:193:232:128:6#53
Dec 14 15:00:53 webserver sm-mta[6897]: sBEA5rCg005149: Warning: program /usr/sbin/sensible-mda unsafe: No such file or directory
Dec 14 15:00:53 webserver sm-mta[6897]: sBEA5rCg005149: SYSERR(root): Cannot exec /usr/sbin/sensible-mda: No such file or directory
Dec 14 15:00:53 webserver sm-mta[6896]: sBEA5rCg005149: to=linuxuser, ctladdr=<root@webserver> (0/0), delay=01:55:00, xdelay=00:00:00, mailer=local, pri=1110936, dsn=4.0.0, stat=Operating system error
Dec 14 15:00:53 webserver sm-mta[6898]: sBEA0t7s004406: Warning: program /usr/sbin/sensible-mda unsafe: No such file or directory
Dec 14 15:00:53 webserver sm-mta[6898]: sBEA0t7s004406: SYSERR(root): Cannot exec /usr/sbin/sensible-mda: No such file or directory
Dec 14 15:00:53 webserver sm-mta[6896]: sBEA0t7s004406: to=linuxuser, ctladdr=<root@webserver> (0/0), delay=01:59:58, xdelay=00:00:00, mailer=local, pri=1110936, dsn=4.0.0, stat=Operating system error
Dec 14 15:01:01 webserver sm-msp-queue[6889]: unable to qualify my own domain name (webserver) -- using short name
Dec 14 15:08:15 webserver named[2914]: clients-per-query decreased to 18
Dec 14 15:09:01 webserver /USR/SBIN/CRON[7013]: (root) CMD (  [ -x /usr/lib/php5/maxlifetime ] && [ -x /usr/lib/php5/sessionclean ] && [ -d /var/lib/php5 ] && /usr/lib/php5/sessionclean /var/lib/php5 $(/usr/lib/php5/maxlifetime))
Dec 14 15:10:53 webserver sm-mta[7032]: sBEA5rCg005149: Warning: program /usr/sbin/sensible-mda unsafe: No such file or directory
Dec 14 15:10:53 webserver sm-mta[7032]: sBEA5rCg005149: SYSERR(root): Cannot exec /usr/sbin/sensible-mda: No such file or directory
Dec 14 15:10:53 webserver sm-mta[7031]: sBEA5rCg005149: to=linuxuser, ctladdr=<root@webserver> (0/0), delay=02:05:00, xdelay=00:00:00, mailer=local, pri=1200936, dsn=4.0.0, stat=Operating system error
Dec 14 15:10:53 webserver sm-mta[7033]: sBEA0t7s004406: Warning: program /usr/sbin/sensible-mda unsafe: No such file or directory
Dec 14 15:10:53 webserver sm-mta[7033]: sBEA0t7s004406: SYSERR(root): Cannot exec /usr/sbin/sensible-mda: No such file or directory
Dec 14 15:10:53 webserver sm-mta[7031]: sBEA0t7s004406: to=linuxuser, ctladdr=<root@webserver> (0/0), delay=02:09:58, xdelay=00:00:00, mailer=local, pri=1200936, dsn=4.0.0, stat=Operating system error
[свернуть]

Сообщение объединено: 15 декабря 2014, 09:40:44

Так!
я нагуглил, что ошибка  My unqualified host name (webserver) unknown это из-за неверного понимания сендмейлом содержимого файла /etc/hosts.
вместо
127.0.0.1       localhost нужно вписать:
127.0.0.1       localhost.localdomain localhost webserver
и все ошибки сразу отвалились, и почта стала отправляться почти сразу.

остаётся актуальным первый вопрос - как он работает )