![为什么 ssmtp 有 sudo 时可以工作,而没有 sudo 时就不能工作?](https://linux22.com/image/1142230/%E4%B8%BA%E4%BB%80%E4%B9%88%20ssmtp%20%E6%9C%89%20sudo%20%E6%97%B6%E5%8F%AF%E4%BB%A5%E5%B7%A5%E4%BD%9C%EF%BC%8C%E8%80%8C%E6%B2%A1%E6%9C%89%20sudo%20%E6%97%B6%E5%B0%B1%E4%B8%8D%E8%83%BD%E5%B7%A5%E4%BD%9C%EF%BC%9F.png)
我是Ubuntu新手。我已经设置了ssmtp。
如果我跑
echo "mail test" | sudo ssmtp -vvv [email protected]
它能工作。没有 sudo 则不行。它给出Authorization failed 535 Incorrect Authentication
那么有什么区别呢sudo
?
如果我能解决这个问题,它将有助于解决更大的问题,即为什么我无法让 shell 脚本运行 - 它会出现同样的错误。
测试脚本
ssmtp.conf :-
[email protected]
mailhub=auth.smtp.vvvvvvv.co.uk
UseTLS=YES
FromLineOverride=YES
UseSTARTTLS=YES
[email protected]
AuthPass=pppppppp
rewriteDomain=domainname.com
AuthMethod=LOGIN
TLS_CA_File=/home/username/cert.pem
testscript shell脚本
#!/bin/sh
TODAY=$(date)
echo "Test script running $TODAY" >> /home/username/Documents/testfile.log
if ssmtp [email protected] < testscript.txt
then
echo "Test script Complete" >> /home/username/Documents/testfile.log
else
echo "Test script Failed" >> /home/username/Documents/testfile.log
echo "Test script ended" >> /home/username/Documents/testfile.log
测试脚本.txt
To:[email protected]
From:xxxxxxxx.domainname.com
Subject:Mail Test
MIME-Version:1.0
Content-Type:text/plain
自动电子邮件测试
答案1
用户不应该ssmtp
直接运行;使用适当的邮件用户代理,如mail
、mailx
或mutt
:
echo Test | mailx -s Test [email protected]