找回密码
 立即注册
搜索
查看: 334|回复: 0

Ubuntu 20.04 的 Cron 不支持 MAILFROM

[复制链接]

266

主题

0

回帖

1119

积分

管理员

积分
1119
发表于 2024-1-16 00:50:59 | 显示全部楼层 |阅读模式

Ubuntu 20.04 的 Cron 竟然不支持 MAILFROM,而且查了一下,之前的版本据说也不支持,有人说 22.04 开始支持了。好吧,但是我的 R740 服务器不能正常安装这个月才刚发布的 22.04,真是尴尬呀。cron 直接使用系统账户作为发件人 root@gitlab,直接被邮件服务器退信了,不能发邮件。

gitlab@example.com: host smtp.qiye.aliyun.com[59.82.14.215] said: 500 Error:
bad syntax (in reply to MAIL FROM command)

当然如果每个任务通过重定向到 mail 客户端也可以发信,不过不能像在 CentOS 中那样在开头指定收发信人了。搜索了一番,可以安装 cronie,它是 CentOS 等发行版系统选择的 cron 实现程序。

卸载掉 cron,安装 cronie
cronie 下载地址:https://github.com/cronie-crond/cronie/releases
下载后编译:

./configure --prefix=  #注意为空
make
make install

安装服务:

vim /usr/lib/systemd/system/crond.service

[Unit]
Description=Command Scheduler
After=auditd.service systemd-user-sessions.service time-sync.target

[Service]
EnvironmentFile=/etc/crond.sysconfig
ExecStart=/usr/sbin/crond -n $CRONDARGS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=30s

[Install]
WantedBy=multi-user.target

从程序根目录拷贝 crond.sysconfig 到 /etc

systemctl enable crond.service
systemctl start crond

OK,又可以像在 CentOS 中那样用 cron 的 MAILFROM 了。

后记:

发现与 at 的目录结构有冲突(都混在 /var/spool/cron/ 中,而 Ubuntu 自带的 cron 文件夹是在 /var/spool/cron/crontabs/),所以还是换成了系统原装的 cron。

暂时就不用 crontab 自带的发信功能了,改用 ssmtp:
删除 postfix
apt install ssmtp

ssmtp 也提供了 sendmail 供 cron 使用。

配置:

vim /etc/ssmtp/ssmtp.conf
mailhub=smtp.qiye.aliyun.com:465
AuthUser=gitlab@example.com
AuthPass=xxx
AuthMethod=LOGIN
UseTLS=YES
FromLineOverride=NO
#Debug=YES

vim /etc/ssmtp/revaliases
root:gitlab@example.com:smtp.qiye.aliyun.com:465

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|棱讯科技 ( 粤ICP备2024228160号-2|粤公网安备44030002003510号 )

GMT+8, 2024-7-27 18:06 , Processed in 0.015679 second(s), 3 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表