Вопрос: Как отправить электронное письмо после задания cron [duplicate]


На этот вопрос уже есть ответ:

Я добавил задание cron для моей инкрементной резервной копии, и я настроил его следующим образом:

0 23 * * * /usr/bin/rsync -ravzX /mnt/external/project/ /media/backup/project/ | mail -s "Backup Success" admin@example.com

Но я не получал никаких электронных писем.
Как я могу узнать, что случилось?


6
2018-05-11 06:40


Источник


Проверить запись mail.log - masegaloeh
Вы можете успешно отправлять почту mail из командной строки? - Paul Haldane
@paul: работает в команде mail - Boothathan
@masegaloeh: нет записи в журнале - Boothathan
Проверьте свой журнал cron. - Jenny D


Ответы:


Вы можете использовать опцию MAILTO в crontab для определения вашего адреса электронной почты и получения всех выходных данных и ошибок во всех выполняемых кронах.

открывать crontab используя

crontab -e

в верхней части файла используйте параметр MAILTO as

MAILTO=email@example.com

cron ищет функцию MAILTO, чтобы решить, где она должна отправлять журналы cron. он посылает root, если root работает с root.

положите его наверху и удалите любую ссылку на почтовую команду от коров.

Проверьте и проверьте, получаете ли вы предупреждения cron после этого.


16
2018-05-11 07:45



Моя резервная почта находится в папке спама. Почему она идет на спам? Как переместить его в папку «Входящие»? - Boothathan
Доставка электронной почты - это то, что вам нужно учитывать в соответствии с вашими требованиями. Если вы только один получили такой адрес электронной почты, просто отметьте это письмо как «Не спам», и он приземлится в папке «Входящие» в следующий раз. Но если вы ищете универсальное решение для электронной почты, которое будет отправлять электронную почту во входящих почтовых ящиках, я рекомендую вам ознакомиться с лучшими практиками, такими как «Установка обратной записи DNS» для вашего IP-адреса сервера, записи PTR, записи SPF, которая разрешает законным серверам исходящий электронной почты от имени этого домена и т. д. - sandeep.s85


Проблема в этом случае заключалась в том, что сообщение было отправлено в папку спама в gmail (что всегда стоит проверить). Добавление отправителя в качестве контакта должно избегать этого.

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


1
2018-05-11 13:06





На FreeBSD

1: Проверить журнал:

tail -f /var/log/cron
tail -f /var/log/maillog

2: Замените sendmail на ssmtp vi /etc/rc.conf и добавьте:

sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"

3: Запустите следующие команды:

killall sendmail
cd /usr/ports/mail/ssmtp/
make install replace clean

4: Редактировать файл ssmtp conf:

vi /usr/local/etc/ssmtp/ssmtp.conf

.... и добавить следующие строки:

root=yourrealemail@example.com
mailhub=smtp.example.com:465
RewriteDomain=example.org
UseTLS=YES
AuthUser=user@example.com
AuthPass=password222
FromLineOverride=YES
Hostname=yourhostname

5: Введите следующую команду:

echo ‘ssmtp_enable=“YES”’ >> /etc/rc.conf

постскриптум другие объясненные параметры ssmtp.conf:

http://www.techrepublic.com/blog/it-security/use-ssmtp-to-send-e-mail-simply-and-securely/


0
2018-05-11 07:11



Это был бы отличный ответ, если бы возник вопрос: «Как получить SSMTP для отправки почты через gmail на FreeBSD». К сожалению, вопрос о cron & mail на Linux. - Jenny D
В чем именно был вопрос OP: «Как я могу отправить электронное письмо после задания cron?» Или «Как я могу узнать, что случилось (с моим mail настроить)?" - papiro