【求助】Emacs中收发Gmail:proxychains 设置代理的问题

我这边也是 http proxy 不通,经验证 socks proxy 是通的:

可以用下列命令:

proxychains4 -q mbsync -a

在emacs中U更新邮件有可能会请求失败,但是看不到出错信息。所以还是在终端中运行上述命令容易找到问题所在。比如我就遇到过超限错误:

IMAP error: unexpected BYE response: [OVERQUOTA] Account exceeded command or bandwidth limits.

你的mbsync 配置是怎样的呀?

我执行 proxychains4 -q mbsync -a 会遇到 Socket error: secure connect to imap.gmail.com (224.0.0.1:993): Success

我也有遇到过,再次执行命令就可以了

可以同步

每次执行proxychains4 -q mbsync -a都会报这个错 Socket error: secure connect to imap.gmail.com (224.0.0.1:993): Success

我的配置是用的这个

IMAPAccount gmail
Host imap.gmail.com
User ****@gmail.com
Pass ***
Port 993
AuthMechs PLAIN
SSLType IMAPS
CertificateFile /etc/ssl/certs/ca-certificates.crt

IMAPStore gmail-remote
Account gmail

MaildirStore gmail-local
SubFolders Verbatim
# The trailing "/" is important
Path ~/.mail/gmail/
Inbox ~/.mail/gmail/Inbox

Channel gmail
Master :gmail-remote:
Slave :gmail-local:
# Exclude everything under the internal [Gmail] folder, except the interesting folders
# Patterns * ![Gmail]* "[Gmail]/Sent Mail" "[Gmail]/Starred" "[Gmail]/All Mail"
# Or include everything
Patterns *
# Automatically create missing mailboxes, both locally and on the server
Create Both
# Save the synchronization state files in the relevant directory
SyncState *

配置上好像没有太大不同:

IMAPAccount myaccount
Host imap.gmail.com
User [email protected]
PassCmd "gpg --quiet --for-your-eyes-only --no-tty --decrypt ~/.password-store/mbsync/myaccount.gpg"
SSLType IMAPS
CertificateFile /etc/ssl/certs/ca-certificates.crt

IMAPStore myaccount-remote
Account myaccount

MaildirStore myaccount-local
Subfolders Verbatim
Path ~/.mail/myaccount/
Inbox ~/.mail/myaccount/Inbox

Channel myaccount
Master :myaccount-remote:
Slave :myaccount-local:
Patterns * ![Gmail]* "[Gmail]/Sent Mail" "[Gmail]/Starred" "[Gmail]/All Mail"
Create Both
SyncState *

请问一下通过 mbsync 连接 gmail 会出现下面错误,是什么问题?

❯ mbsync -aV
Reading configuration file /Users/aqua/.mbsyncrc
C: 0/2  B: 0/0  F: +0/0 *0/0 #0/0  N: +0/0 *0/0 #0/0
Channel Gmail
Opening far side store Gmail-remote...
Resolving imap.gmail.com... ok
Connecting to imap.gmail.com (74.125.204.108:993)...
Opening near side store Gmail-local...
Connection is now encrypted
Logging in...
Authenticating with SASL mechanism PLAIN...
IMAP command 'AUTHENTICATE PLAIN <authdata>' returned an error: NO [AUTHENTICATIONFAILED] Invalid credentials (Failure)
C: 1/2  B: 0/0  F: +0/0 *0/0 #0/0  N: +0/0 *0/0 #0/0

连 163 邮箱 出现下面这些错误

Channel Netease
Opening far side store Netease-remote...
Resolving imap.163.com... ok
Connecting to imap.163.com (220.181.12.100:993)...
Opening near side store Netease-local...
Connection is now encrypted
Logging in...
C: 1/2  B: 0/10  F: +0/0 *0/0 #0/0  N: +0/0 *0/0 #0/0
Opening far side box INBOX...
Opening near side box INBOX...
Creating far side box INBOX...
IMAP command 'CREATE "INBOX"' returned an error: NO CREATE Folder exist
C: 1/2  B: 1/10  F: +0/0 *0/0 #0/0  N: +0/0 *0/0 #0/0
Opening far side box &V4NXPpCuTvY-...
Opening near side box &V4NXPpCuTvY-...
Error: channel Netease: both far side &V4NXPpCuTvY- and near side &V4NXPpCuTvY- cannot be opened.
C: 1/2  B: 2/10  F: +0/0 *0/0 #0/0  N: +0/0 *0/0 #0/0

找到问题了,原来免费的网易邮箱没法改为英文界面,换成英文版的QQ邮箱就没问题了。

Gmail 应该是代理的问题,还有Google账户提示阻止未知的第三方访问,还不知道要在帐户上怎么设置。

每次看到大家在折腾 Gmail,都想说 QQ 邮箱没有那么 low,很好用,也没广告。

用 Gmail 是因为很早就开始用了,很多地方注册用户名都用了它,所以才离不开。

以前是嫌弃 QQ 邮箱是 [email protected] 显得比较low :smile:。不过现在我把名字改为 [email protected][email protected] ,显得比较正常了。

最近打开 10多年不用的 QQ 邮箱,发现真的一点广告都没有,还是当年那些邮件。看来还不错,准备启用 QQ邮箱。

有个同事在国外给老外留了个 163邮箱,老外用疑惑的眼神问:你确定这个是邮箱地址吗?没写错吗? :smile:

另外,请问一下,Gmail 是支持使用用户名密码 通过 mbsync或者 offlineimap 访问吗?还是要申请 app 应用密码?

Gmail可以使用mbsync访问,要额外设置一个应用程序密码。理论上offlineimap应该也行,但是我没成功过。

多谢 :+1:,按你说的,在 google 帐户中开启两步认证后,再添加一个应用密码,用这个密码就可以通过 mbsync 同步Gmail邮件了。

关于代理,我直接在终端执行 export all_proxy=socks5://127.0.0.1:1080 就可以使用下载Gmail

方便贴一下你的mbsync配置么,我使用export all_proxy=socks5://127.0.0.1:1080 设置代理后依然不能下载Gmail

我是通过 Nix 设置的,我看了转化后的配置,和你们贴的差不多。
关键是要用应用密码,不能用自己的个人登陆密码。

我用 export all_proxy=socks5://127.0.0.1:1080 设置代理不能下载Gmail

但是用proxychains 可以(也是设置的socks5代理)

说明你用的命令行软件不遵照 all_proxy 这个变量