ssmtp 密码中的特殊字符

Jof*_*sey 14 gmail email smtp

我的 gmail 密码中有+=字符。如何配置ssmtp以避免授权错误?

我的/etc/ssmtp/ssmtp.conf

root=username@gmail.com
mailhub=smtp.gmail.com:465
rewriteDomain=gmail.com
AuthUser=username
AuthPass=1234+=5678
FromLineOverride=YES
UseTLS=YES
hostname=skynet
Run Code Online (Sandbox Code Playgroud)

我如何运行ssmtp

$ echo "email content" | mail -s "email subject" otherMail@gmail.com
send-mail: Authorization failed (535 5.7.1
http://support.google.com/mail/bin/answer.py?answer=14257
hz16sm4385885lab.6)
Run Code Online (Sandbox Code Playgroud)

Jon*_*ndt 6

在处理文件中的AuthPass行上的特殊字符时,仍然存在许多突出的错误/etc/ssmtp/ssmtp.conf

https://bugs.debian.org/cgi-bin/pkgreport.cgi?repeatmerged=no&src=ssmtp#_0_3_4

这些错误报告专门针对 ssmtpDebian 中页面,但可能适用于其他页面。

  • Debian 错误报告日志 - #463196:ssmtp 无法解析包含“=”或“:”的 AuthPass
  • Debian 错误报告日志 - #768129:ssmtp:此处与“#”相同的问题

根据这些报告日志,包含字符的行=:#的行要么被完全跳过,要么以删除这些字符右侧密码部分的方式进行处理。

也就是说,目前没有办法“转义”这些特殊字符就AuthPass行了。


作为旁注,有许多设备(例如无线家用打印机)需要在数字键盘上输入密码,类似于电话上使用的设备。这些设备上有一些特殊字符可用,但许多无法选择。

对于这种情况,您(不幸的是)被迫调整设备的密码。

由字母和数字组成的较长密码优于具有更多标点符号的较短密码。


这个问题在以下页面也被问到并得到了很好的回答:

ssmtp.conf 中的密码中哪些字符是非法的?


Pen*_*der -1

答案很大程度上取决于您输入或提交密码的上下文。在某些格式中,您可以将密码括在""'s 中,而在其他格式中,您需要转义有问题的字符。此转义字符在程序、shell、操作系统等之间有所不同。在 Windows 批处理脚本中,转义字符为 ,^而在某些 Linux 或终端情况下,转义字符为\