无法使用 mailx 发送邮件

丹尼斯·哈切森

有人可以帮助解决这个错误吗?:

mailx -s "test message" [email protected] Cc: This is a test message
cannot send message: Process exited with a non-zero status

我在尝试从命令行使用 mailx 时遇到了这个问题。

安德鲁.46

我对您的最佳建议是实际s-nail用于此目的,与mailx / bsd-mailx / heirloom-mailxUbuntu 下可用的各种版本的etc 等相比,它需要的麻烦要少得多特别是s-nail可以直接发送到外部 SMTP 服务器(例如 Gmail),而无需增加 Postfix 等应用程序的复杂性。

s-nail 可以安装如下:

sudo apt-get install s-nail

然后,您需要创建一个配置文件并适当地设置权限:

touch ~/.mailrc
chmod 0600 ~/.mailrc

使用您喜欢的文本编辑器打开此文件并将以下信息粘贴到其中。请注意我主要用“xxxxx”标记的部分,您需要在其中添加自己的详细信息(通常是用户名和密码):

#--------------------------------------------#
# Setting mailx version v14.9.15 for gmail   #
#--------------------------------------------#

# Testing syntax:
# echo "Testing, Testing, Testing" | s-nail -s "My test..." [email protected]

# Use v15.0 compatibility mode
set v15-compat

# See the whole process, especially for troubleshooting:
set verbose

# Essential setting: select allowed character sets
set sendcharsets=utf-8,iso-8859-1
# and reply in the same charset used by sender:
set reply-in-same-charset

# Default directory where we act in (relative to $HOME)
set folder=mail

# My actual address obfuscated here:
set from="[email protected]"

# Request strict TLL transport layer security checks
set tls-verify=strict
set tls-ca-file=/etc/ssl/certs/ca-certificates.crt
set tls-ca-no-defaults
set smtp-use-starttls
set smtp-auth=login

# When sending messages, wait until the Mail-Transfer-Agent finishes.
# Only like this you will be able to see errors reported through the
# exit status of the MTA (including the built-in SMTP one)!
set sendwait

# And of course put your own gmail username and
# password here in the obvious places:

set mta=smtps://username:[email protected]:465
#--------------------------------------------#

我已经在我的 Ubuntu 20.04 系统上设置了它,它运行完美请参阅下面我在哪里运行建议的测试电子邮件(注意我已经修改了测试电子邮件地址):

andrew@ithaca:~$ echo "Testing, Testing, Testing" | s-nail -s "My test..." [email protected]
s-nail: P(seudo)R(andom)N(umber)G(enerator): *TLS RAND_*
s-nail: Resolving host smtp.gmail.com:465 ... done
s-nail: Connecting to 74.125.130.108:465 ...  connected.
s-nail:  Certificate depth 2 
s-nail:   subject = /OU=GlobalSign Root CA - R2/O=GlobalSign/CN=GlobalSign
s-nail:   notBefore = Dec 15 08:00:00 2006 GMT
s-nail:   notAfter = Dec 15 08:00:00 2021 GMT
s-nail:   issuer = /OU=GlobalSign Root CA - R2/O=GlobalSign/CN=GlobalSign
s-nail:  Certificate depth 1 
s-nail:   subject = /C=US/O=Google Trust Services/CN=GTS CA 1O1
s-nail:   notBefore = Jun 15 00:00:42 2017 GMT
s-nail:   notAfter = Dec 15 00:00:42 2021 GMT
s-nail:   issuer = /OU=GlobalSign Root CA - R2/O=GlobalSign/CN=GlobalSign
s-nail:  Certificate depth 0 
s-nail:   subject = /C=US/ST=California/L=Mountain View/O=Google LLC/CN=smtp.gmail.com
s-nail:   notBefore = Nov  3 07:37:59 2020 GMT
s-nail:   notAfter = Jan 26 07:37:59 2021 GMT
s-nail:   issuer = /C=US/O=Google Trust Services/CN=GTS CA 1O1
s-nail: Comparing subject_alt_name: need<smtp.gmail.com> is<smtp.gmail.com>
s-nail: TLS certificate ok
s-nail: TLS BLAKE2s256 fingerprint: 0C:F8:DA:33:CE:15:EA:7F:F6:8B:28:C1:95:33:A0:1D:01:B7:F3:D8:E2:7B:29:42:70:D6:4B:6A:6D:16:8A:CF
s-nail: TLS connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
andrew@ithaca:~$

希望这也适用于您的 Ubuntu 20.04 系统!

笔记:

  1. 不太安全..:您需要允许“不太安全”的应用程序访问 gmail,以便 s-nail 成功访问 gmail:https : //myaccount.google.com/lesssecureapps
  2. 符号链接:大多数Linux发行版将实际符号连接S-指甲的mailx因此命令mailx将调用s-nail但这并不似乎是Ubuntu的20.04之下的情况。毫无疑问,这可以手动完成...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用mailx命令无法发送电子邮件

来自分类Dev

使用mailx命令在UNIX中使用邮件发送附件

来自分类Dev

root无法发送邮件(apticron),但用户可以发送邮件(mail / mailx)

来自分类Dev

无法使用mailx“非法选项-b”通过密件抄送发送邮件

来自分类Dev

mailx是使用SMTP中继发送邮件还是直接连接到目标SMTP服务器?

来自分类Dev

使用mailx和uuencode发送附件

来自分类Dev

使用mailx和uuencode发送附件

来自分类Dev

使用mailx命令发送原始消息

来自分类Dev

mailx执行成功但未发送邮件

来自分类Dev

使用带后缀2.6.6和centOS 6.4的mailx发送HTML

来自分类Dev

如何使用mailx发送电子邮件,以便“发件人”和“收件人”正确显示在电子邮件中?

来自分类Dev

邮件和mailx之间的区别?

来自分类Dev

在Gmail中使用Mailx

来自分类Dev

无法使用Nodemailer发送邮件

来自分类Dev

查看邮件/ mailx中的邮件列表

来自分类Dev

无法弄清楚如何在bash脚本中将^ D(EOT)信号发送到mailx

来自分类Dev

我可以使用(普通)mailx重新发送消息吗?

来自分类Dev

使用mailx而不存储密码

来自分类Dev

使用python发送邮件

来自分类Dev

使用Laravel发送邮件

来自分类Dev

使用telnet发送邮件

来自分类Dev

使用PlayFramework发送邮件

来自分类Dev

使用 nodemailer 发送邮件

来自分类Dev

使用 nodejs 发送邮件

来自分类Dev

无法使用android代码发送邮件

来自分类Dev

无法使用mail()php发送邮件?

来自分类Dev

无法使用Java代码从Gmail发送邮件

来自分类Dev

无法使用php mail()函数发送邮件

来自分类Dev

无法使用 php mail() angular 发送邮件