为什么 ssmtp 有 sudo 时可以工作,而没有 sudo 时就不能工作?

为什么 ssmtp 有 sudo 时可以工作,而没有 sudo 时就不能工作?

我是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直接运行;使用适当的邮件用户代理,如mailmailxmutt

echo Test | mailx -s Test [email protected]

相关内容