Page 1 of 1

Настройка имени, от которого Vesta шлёт письма

Posted: Wed Oct 01, 2014 1:36 pm
by Ngel
Подскажите пожалуйста, как можно настроить имя, от которого Vesta рассылает почту о успешном выполнении cron-задачи, к примеру?
Как я понимаю, адрес отправителя генерируется по принципе "пользователь"@"имя_сервера". Имя сервера было выбрано исходя из внутренней структуры сети и в реале такого мыла не существует => гугл уведомления шлёт в спам, как бы я их не помечал "важными" или "не спамом".

Re: Настройка имени, от которого Vesta шлёт письма

Posted: Wed Oct 01, 2014 9:18 pm
by donatello2005
Адрес отправителя, с котрого Vesta рассылает почту, указан в строке "E-mail" настроек USERа:

Image

Так что спокойно можно поменять E-mail.

Если хотите какие-то параметры прописать в самом Cron'е, как это сделать описал тут в пункте 3:
viewtopic.php?f=28&p=16509

Re: Настройка имени, от которого Vesta шлёт письма

Posted: Thu Oct 02, 2014 6:13 am
by Ngel
Погодите, если я все правильно понимаю, это адрес НА который приходит рассылка. Ну просто в моем случае именно на него все и сыпется...

Re: Настройка имени, от которого Vesta шлёт письма

Posted: Thu Oct 02, 2014 6:53 am
by donatello2005
Прошу прощения. Отвечал вам в 4 часа утра, поэтому голова работала плохо.

Вы правы, это адрес не отправителя, а получателя.
Чтобы адрес отправителя указать - можете прописать его в файле:
`/var/spool/cron/crontabs/your_user` в параметре `MAILFROM` (MAILFROM=[email protected])
Но при любом изменении списка задач крона данного пользователя вышеуказанный файл будет переписан.
Поэтому советую прописать параметр `MAILFROM` в функции генерации CRON-задач, чтобы он при каждом обновлении задач сам добавлялся в crontabs:
файл `/usr/local/vesta/func/main.sh`, функция `sync_cron_jobs()`, кусок:

Code: Select all

    if [ "$CRON_REPORTS" = 'yes' ]; then
        echo "MAILTO=$CONTACT" > $sys_cron
    fi
можем поменять на:

Code: Select all

    if [ "$CRON_REPORTS" = 'yes' ]; then
        echo "MAILTO=$CONTACT" > $sys_cron
        echo "[email protected]" >> $sys_cron
    fi
(также тут же можно прописать другие параметры, типа `CONTENT_TYPE='text/plain; charset=utf-8'` для отправки сообщения в кодировке UTF-8, или любой другой параметр из возможных для crontab)

Единственное, в этой функции мы знаем только имя юзера, от которого запускается задача ($user) и не можем привязать динамически задачу к одному из сайтов данного пользователя, чтобы @domain.ru генерировалось динамически в зависимости от подключенного к этой задаче сайта.

Re: Настройка имени, от которого Vesta шлёт письма

Posted: Thu Oct 02, 2014 12:08 pm
by Ngel
Хм... Странно. У меня нет каталога `/var/spool/cron/crontabs/`
Есть `/var/spool/cron/` в котором лежат файлы одноименные пользователям и в них задания cron-а собственно.
Еще смущает, что текст MAILFROM я не могу найти во всем `/var/`...

Re: Настройка имени, от которого Vesta шлёт письма

Posted: Thu Oct 02, 2014 12:41 pm
by donatello2005
Ngel wrote:Хм... Странно. У меня нет каталога `/var/spool/cron/crontabs/`
Есть `/var/spool/cron/` в котором лежат файлы одноименные пользователям и в них задания cron-а собственно.
Это абсолютно нормально. У меня Ubuntu Server 14.04. У вас же CentOS, и расположение директорий в некоторых моментах отличается. В частности, у вас нет директории `/var/spool/cron/crontabs` (которая в Ubuntu есть изначально), в связи с чем все задачи Cron'а у вас и складываются в `/var/spool/cron/`.
В коде функций у Vesta различия OS в целом и расположение директории с задачами Cron'а в частности (файл `/usr/local/vesta/func/main.sh`, функция `sync_cron_jobs()`) предусмотрено:

Code: Select all

    if [ -e "/var/spool/cron/crontabs" ]; then
        sys_cron="/var/spool/cron/crontabs/$user"
    else
        sys_cron="/var/spool/cron/$user"
    fi
Ngel wrote:Еще смущает, что текст MAILFROM я не могу найти во всем `/var/`...
MAILFROM - один из дополнительных параметров Cron'а. Изначально, как вы и говорили выше:
Ngel wrote:адрес отправителя генерируется по принципе "пользователь_под_которым_запускается_cron"@"имя_сервера"
Эта генерация MAILFROM по-умолчанию происходит самим Cron'ом при отправке сообщений (тут Vesta не при чём), если нет дополнительного параметра MAILFROM, который изначально в Cron'е нигде не прописан (да и не должен).
Т.е. это абсолютно стандартное поведение Cron'а.

Re: Настройка имени, от которого Vesta шлёт письма

Posted: Thu Apr 07, 2016 4:35 pm
by ZoraX
А не подскажите как мне исправить такую ситуацию.
Скрипт на сайте шлёт php (mail) через exim, при этом в поле from - [email protected] а в заголовке smtp.mailfrom=[email protected] из за этого, такое письмо сразу улетает в спам на mail ru
То есть как я понял vesta подставляет как [email protected], а надо [email protected] , как исправить?

Re: Настройка имени, от которого Vesta шлёт письма

Posted: Thu Apr 07, 2016 5:34 pm
by Mr.Erbutw
ZoraX wrote:А не подскажите как мне исправить такую ситуацию.
Скрипт на сайте шлёт php (mail) через exim, а письмо приходит с обратным адресом От
admin@имядомена, как мне вместо admin@домен подставить info@домен?
viewtopic.php?p=16510#p16510

Re: Настройка имени, от которого Vesta шлёт письма

Posted: Thu Apr 07, 2016 5:45 pm
by ZoraX
Mr.Erbutw wrote:
ZoraX wrote:А не подскажите как мне исправить такую ситуацию.
Скрипт на сайте шлёт php (mail) через exim, а письмо приходит с обратным адресом От
admin@имядомена, как мне вместо admin@домен подставить info@домен?
viewtopic.php?p=16510#p16510
Это неверная информация.
У меня в настройке юзера указана совершенно другая почта.
Как я понял, скрипт выполняется от имени юзера VEstaCP, а mail.from формируется как имяюзера@имядомена.
У меня совершенно нет желания заводить нового пользователя с именем info для того чтобы mail.from был как info@имядомена.
Надо как-то в конфигах exim что-то менять