Всякий раз, когда я отправляю почту через Exim, даже если я устанавливаю поле from, он всегда говорит, что электронная почта от: apache@server.mydomain.com. Есть ли способ заставить работать с поля или хотя бы изменить адрес по умолчанию? Спасибо.
Хорошо, глядя на класс, с которым вы связались, вы уже должны установить From:
заголовок, который поможет вам на полпути. Скорее всего, вы видите, что приходящие электронные письма выглядят примерно так:
From: <senderofchoice@example.com>
Sender: <apache@example.com>
Return-path: <apache@example.com>
Что не очень хорошо. Многих это сбивает с толку, и пользователи Outlook также могут видеть сообщения с пометкой «Очевидно от».
Это вызвано тем, что Exim не разрешает Apache (как системной учетной записи) "подделывать" адрес От. Вы можете видеть в строке 39 этого класса, что sendmail
вызывается (двоичный файл Sendmail имеет символическую ссылку на Exim по историческим причинам) примерно так:
sendmail -f $fromEmail
Это говорит Exim о необходимости указать адрес отправителя конверта, который по умолчанию ограничен UID 0. Вы можете прочитать сложные детали об этом из -f
раздел справочной страницы Exim. Короче говоря, можно изменить это, разрешив Apache изменять отправителя конверта в exim.conf
:
trusted_users = apache
Вы хотите убедиться, что опция qualify_domain установлена в верхней части exim4.conf.
Вы можете изменить доменное имя по умолчанию в /etc/mailname
.
Вы также можете изменить адрес электронной почты по умолчанию apache
пользователь в /etc/email-addresses
с чем-то вроде
apache: some-great-service@some-nice-domain.com