Не мог отправить почту через сценарий PHP

С "веб-приложением" Вы подразумевали поиск свободного размещенного контрольного сервиса сервера?

Если Вы используете веб-страницу в качестве агента для этой внутренней статистики, можно использовать любую из известных услуг по контролю веб-сайта с бесплатным планом (AlertFox, Pingdom...).

0
задан 14 August 2013 в 12:27
3 ответа

Первая часть Система exim требует, чтобы каталоги спула и каталоги журналов были доступны для записи пользователем exim (пользователем, от имени которого запускается процесс). Простым исправлением для exim было бы:

chown -R exim:exim /var/spool/exim /var/log/exim

Вторая часть Обычно существует оболочка / usr / sbin / sendmail, которая на самом деле является просто символической ссылкой на то, что обеспечивает «совместимость с sendmail» в вашей системе. Когда вы устанавливаете exim, он создает символическую ссылку / usr / sbin / sendmail, которая в конечном итоге указывает на / usr / sbin / exim. [1] Когда вы удалили пакет exim, он удалил ссылку / usr / sbin / sendmail. Когда cron запускает задание, он запускает его и передает его в / usr / sbin / sendmail. Так как он больше не существует, задание не запускается полностью.

Предпочтительным исправлением является использование системы «альтернатив» для обновления каждого из компонентов mta, которыми управляет система «альтернатив»:

# ls /etc/alternatives/ -l | grep mta
lrwxrwxrwx 1 root root 23 Aug 14 12:33 mta -> /usr/sbin/sendmail.exim
lrwxrwxrwx 1 root root 19 Aug 14 12:33 mta-mailq -> /usr/bin/mailq.exim
lrwxrwxrwx 1 root root 29 Aug 14 12:33 mta-mailqman -> /usr/share/man/man8/exim.8.gz
lrwxrwxrwx 1 root root 24 Aug 14 12:33 mta-newaliases -> /usr/bin/newaliases.exim
lrwxrwxrwx 1 root root 15 Aug 14 12:33 mta-pam -> /etc/pam.d/exim
lrwxrwxrwx 1 root root 19 Aug 14 12:33 mta-rmail -> /usr/bin/rmail.exim
lrwxrwxrwx 1 root root 19 Aug 14 12:33 mta-rsmtp -> /usr/bin/rsmtp.exim
lrwxrwxrwx 1 root root 18 Aug 14 12:33 mta-runq -> /usr/bin/runq.exim
lrwxrwxrwx 1 root root 22 Aug 14 12:33 mta-sendmail -> /usr/lib/sendmail.exim
# update-alternatives --config mta

There is 1 program that provides 'mta'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/sbin/sendmail.exim

Enter to keep the current selection[+], or type selection number:

Если это не так работать на вас (поскольку qmail не был настроен как часть системы "альтернатив", то простейшим решением будет создание этой символической ссылки вручную:

cd /usr/sbin; ln -s qmail sendmail

[1] Технически "

1
ответ дан 5 December 2019 в 15:08

ln: creating symbolic link 'sendmail': File exists

This is because sendmail is already a symlink to /etc/alternatives/mta which is not required further.

Just remove the sendmail symlink using command:

cd /usr/sbin
rm -rf sendmail

And create a new link:

ln -s qmail sendmail
-1
ответ дан 5 December 2019 в 15:08

Если вы хотите использовать встроенную функцию mail(), вам нужно будет поговорить с администратором сервера. Можно использовать внешний SMTP-сервер на Windows, но он должен быть указан в настройках php.ini, а встроенные функции PHP не поддерживают SMTP-аутентификацию.

Обычный способ - либо использовать локальный почтовый сервер, который, в свою очередь, может общаться с "настоящим" SMTP-сервером с аутентификацией, либо использовать почтовый пакет типа SwiftMailer, который может напрямую соединяться с SMTP-сервером стороннего производителя, например, GMail

.
0
ответ дан 5 December 2019 в 15:08

Теги

Похожие вопросы