我在使用 mailx 获取电子邮件时遇到问题。我的 imap 帐户使用 ssl/tls 连接,并在端口 993 上进行正常密码身份验证。不过,通过 smtp 发送没有任何问题。这是我的〜/.mailrc:
set verbose
account bell {
set smtp-use-starttls
set smtp=smtp://smtp-mail.outlook.com:587
set smtp-auth=login
set [email protected]
set smtp-auth-password=$PASSWORD
set from="$NAME <[email protected]>"
set nss-config-dir=/etc/openldap/certs
set ssl-verify=ignore
set folder=imaps://[email protected]:993/INBOX
}
Mailx 提示输入我的密码,然后回复“无效的用户名或密码”。这是“mail -A bell”的输出:
Resolving host imap-mail.outlook.com . . . done.
Connecting to 157.56.195.250 . . . connected.
Comparing DNS name: "*.hotmail.com"
Comparing DNS name: "*.live.com"
Comparing DNS name: "*.outlook.com"
SSL parameters: cipher=AES-256, keysize=256, secretkeysize=256,
issuer=CN=GlobalSign Organization Validation CA - G2,O=GlobalSign nv-sa,C=BE
subject=CN=*.hotmail.com,O=Microsoft Corporation,L=Redmond,ST=Washington,C=US
* OK Outlook.com IMAP4rev1 server version 17.4.0.0 ready (DUB451-IMAP167)
>>> T1 CAPABILITY
* CAPABILITY IMAP4rev1 CHILDREN ID NAMESPACE UIDPLUS UNSELECT AUTH=PLAIN AUTH=XOAUTH2 SASL-IR
T1 OK CAPABILITY completed
Password:
>>> T2 LOGIN "$USERNAME" "$PASSWORD"
T2 NO [AUTHENTICATIONFAILED] Invalid username or password.
IMAP error: [AUTHENTICATIONFAILED] Invalid username or password.
Password:
这与身份验证方法有关还是我缺少一些 ssl/tls 配置选项?
答案1
您缺少 IMAP 服务器的整个部分。由于他们使用的是 Outlook,因此它的工作方式应该与 Hotmail 类似
account hotmail {
set MAIL=imaps://username%[email protected]
set imap-use-starttls
set password-username%[email protected]="secret"
set smtp="smtp-mail.outlook.com:587"
set from="My Name <[email protected]>"
set smtp-use-starttls
set smtp-auth="login"
set [email protected]
set smtp-auth-password="secret"
}
我使用 %40 代替 @ 并没有犯错误。最新的 s-nail(Linux mailx 落后很多)不喜欢微软使用的两个@。