Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Email GNUs在没有imap的情况下通过电子邮件从同一服务器发送多个传出帐户_Email_Emacs_Smtp_Gnus_Multiple Accounts - Fatal编程技术网

Email GNUs在没有imap的情况下通过电子邮件从同一服务器发送多个传出帐户

Email GNUs在没有imap的情况下通过电子邮件从同一服务器发送多个传出帐户,email,emacs,smtp,gnus,multiple-accounts,Email,Emacs,Smtp,Gnus,Multiple Accounts,我使用GNUs和多个电子邮件地址,包括根据邮件上的发件人更改传出SMTP。到现在为止,一直都还不错。不过,现在我在同一台服务器上有多个帐户,所以通常的.authinfo对我不起作用。似乎答案应该与 但我没有使用gmail,也没有使用imap。我正在使用SMTP和SSL。我如何扩展该解决方案?(另外:我正在使用gnus发布样式来帮助发送带有适当地址的邮件,这是值得的) 下面是my.gnus的相关部分。请注意,我正在尝试使webdev@[ME].com正常工作,这是[ME]@[ME].com(都是同

我使用GNUs和多个电子邮件地址,包括根据邮件上的发件人更改传出SMTP。到现在为止,一直都还不错。不过,现在我在同一台服务器上有多个帐户,所以通常的.authinfo对我不起作用。似乎答案应该与 但我没有使用gmail,也没有使用imap。我正在使用SMTP和SSL。我如何扩展该解决方案?(另外:我正在使用gnus发布样式来帮助发送带有适当地址的邮件,这是值得的)

下面是my.gnus的相关部分。请注意,我正在尝试使webdev@[ME].com正常工作,这是[ME]@[ME].com(都是同一台服务器)之外的内容。我需要在这里和我的authinfo中做些什么才能让它工作

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;; 多个往来账户;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; http://www.mostlymaths.net/2010/12/emacs-30-day-challenge-using-gnus-to.html
;; 另请参见~/.authinfo
(定义smtp帐户)
'(
(ssl“[ME]@[ME].com”“邮件[ME].com”
26“[ME]@[ME].com”秘密)
;(ssl“webdev@[ME].com”“邮件[ME].com”
;;26“webdev@[ME].com”秘密)
(ssl“[ME]@gmail.com”“smtp.gmail.com”
587“[ME]@gmail.com”秘密)
(ssl“[ME]@gatech.edu”“mail.gatech.edu”
587“[ME]@gatech.edu”秘密)
))
;; 现在,让我们使用您的名称和要发送的函数配置smtpmail.el
;; 通过更改“发件人”字段,使用smtp帐户发送邮件
(需要“smtpmail”)
(setq发送邮件功能的smtpmail发送它
邮件发送功能的smtpmail发送它
来自style nil用户全名“[ME]S”的邮件
smtpmail调试信息(t)
(取消设置smtp(机械服务器端口用户密码)
“为提供的参数设置相关SMTP变量。”
(setq smtpmail smtp服务器smtpmail smtp服务端口
smtpmail身份验证凭据(列表服务器端口用户
密码)支持smtpmail身份验证(列表机制)
smtpmail starttls凭据(无)
(消息“正在为用户“%s”将SMTP服务器设置为“%s:%s”。)
服务器端口(用户)
(取消设置smtp ssl(服务器端口用户密码和可选密钥)
证书)
“为提供的参数设置相关的SMTP和SSL变量。”
(setq starttls使用gnutls t
starttls gnutls程序“gnutls cli”
starttls额外参数nil smtpmail smtp服务器
smtpmail smtp服务端口
smtpmail身份验证凭据(列表服务器端口用户
密码)smtpmail starttls凭据(列表
服务器端口密钥证书)
(信息
正在为用户“%s”将SMTP服务器设置为“%s:%s”。(SSL)
已启用。)“服务器端口用户”)
(取消更改smtp()
“根据当前发件人行更改SMTP服务器。”
(省去远足
(使用from=(保存限制)循环
(消息窄至标题)
(消息获取字段“从”))
用于smtp帐户中的(auth mech address.auth spec)
when(字符串匹配地址from)do(cond
((memq auth mech)(cram-md5普通登录))
(返回(应用设置smtp(cons认证机械认证规范)))
((eql认证机构ssl)
(返回(应用“设置smtp ssl身份验证规范”))
(t)错误“无法识别的SMTP身份验证机制:
`%最后(错误“无法推断SMTP信息”。)
;; 如果在“发件人”字段中填入
;; smtp帐户中不存在帐户。
(定义变量%smtpmail通过smtp(符号函数“smtpmail通过smtp))
(通过smtp卸载smtpmail(收件人smtpmail文本缓冲区)
(使用当前缓冲区smtpmail text buffer
(更改smtp)
(funcall(符号值“%smtpmail via smtp”)收件人
smtpmail文本缓冲区)
;; 这将包装通过smtp邮件发送邮件,以便能够发送多个邮件
;; 带有smtpmail的消息。
;; 回复地址与发送地址相同
(setq gnus发布样式)
“((标题“至”[ME]@gmail.com”)
(地址“[ME]@gmail.com”))
((标题“至”[ME]@gatech.edu)
(地址“[ME]@gatech.edu”))
((标题“至”[ME]@[ME.com”)
(地址“[ME]@[ME].com”))
;;;((标题“到”“webdev@[ME].com”)
(地址"webdev@[ME].com)
;;((标题“cc”“webdev@[ME].com”)
(地址"webdev@[ME].com)
((标题“cc”“[ME]@[ME.com”)
(地址“[ME]@[ME].com”))
((标题“cc”“[ME]@gatech.edu))
(地址“[ME]@gatech.edu”))
((标题为“cc”“[ME]@gmail.com”)
(网址“[ME]@gmail.com”))
解决方案 下面是我想要的答案。为了完整起见,我将使用我的/etc/host文件、.authinfo和.gnus发布我的最终结果解决方案

;;摘自.gnus
(定义smtp帐户)
'(
(ssl)first@onedomain.com“mail.onedomain.com”
26 "first@onedomain.com"秘密)

(ssl)second@onedomain.com“mail.onedomain2.com”;我在同一邮件服务器上有多个SMTP帐户,只需使用不同的“域”定义一个主机文件条目对于每个邮件帐户。

我有一个类似的设置,我使用gnus中的发布样式在多个电子邮件帐户之间进行选择。我曾经这样做过,为同一主机定义不同的别名,具有authinfo条目。它看起来像这样:

Contents of ~/.authinfo.gpg:
machine imap.gmail-alias1.com login me@hosteddomain.org password pass port 993
machine imap.gmail-alias2.com login me@gmail.com password pass port 993
machine smtp.gmail1.com login me@hosteddomain.org port 587 password
machine smtp.gmail2.com login me@gmail.com port 587 password

Partial contents of /etc/hosts:
# So I can use multiple gmail accounts in authinfo
# should be same address as imap.gmail.com
173.194.70.108 imap.gmail-alias1.com
173.194.70.108 imap.gmail-alias2.com

74.125.136.108 smtp.gmail1.com
74.125.136.108 smtp.gmail2.com

但是我改为使用postfix来发送邮件。你可以做的是设置postfix以便它可以(例如)接收邮件USER1@gmail.com, USER2@gmail.com, USER3@googlehosteddomain.com并将所有邮件发送到smtp.gmail.com,同时在每种情况下使用适当的帐户凭据。这要求您安装该程序,并设置文件*/etc/postfix/sasl\u passwd*和*/etc/postfix/sender\u relay*

X-Message-smtp-Met消息模式的hod头字段也可能有帮助

埃克萨
X-Message-SMTP-Method: smtp smtp.fsf.org 587 other-user