标签: sendmail

如何配置 sendmail 以使用端口 465 或 587 通过 GMail (smtp.gmail.com) 发送电子邮件?

我已将 sendmail 配置为通过我的 GMail (Google Mail) 帐户发送电子邮件,即通过smtp.gmail.com编辑/etc/mail/sendmail.mc和重新生成 sendmail.cf:

-dnl define(`SMART_HOST',`smtp.your.provider')
+define(`SMART_HOST',`[smtp.gmail.com]')

-dnl define(`confAUTH_OPTIONS', `A p')dnl
+define(`confAUTH_OPTIONS', `A p')dnl

-dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
-dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
+TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
+define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

 FEATURE(`no_default_msa',`dnl')dnl
 FEATURE(`smrsh',`/usr/sbin/smrsh')dnl
+FEATURE(`authinfo',`hash -o /etc/mail/authinfo.db')dnl
 FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db')dnl
 FEATURE(`virtusertable',`hash -o /etc/mail/virtusertable.db')dnl

-dnl MASQUERADE_AS(`mydomain.com')dnl
+MASQUERADE_AS(`gmail.com')dnl
Run Code Online (Sandbox Code Playgroud)

以上是我对 sendmail.mc 更改的缩短差异。

/etc/mail/authinfo使用我的凭据(我的 GMail 帐户的用户名和密码;已编辑)创建:

AuthInfo:smtp.gmail.com "U:user@gmail.com" "P:password" "M:PLAIN"
AuthInfo: "U:user@gmail.com" "P:password" "M:PLAIN"
Run Code Online (Sandbox Code Playgroud)

但是此设置使“sendmail”使用 smtp.gmail.com …

email smtp sendmail gmail

7
推荐指数
1
解决办法
3万
查看次数

为每个域配置 php mail()

我的专用服务器上有大约 6 个站点(运行 centos5),所有使用 php 邮件功能发送的电子邮件都是由 nobody@servername.hostname.com 发送的,例如“已收到:来自nobody by servername.hostname.com 与本地(Exim 4.69) ”。有什么方法可以更改它以显示适当的域?

email php sendmail

7
推荐指数
2
解决办法
2万
查看次数

如何将 root 的电子邮件转发到外部电子邮件地址?

我家有一台小型服务器(Ubuntu 10.04),我想将root的电子邮件转发到我的 gmail 托管域,以获取安全通知以及其他什么不。

我把所有东西都撕掉了,从头开始,遇到了其他一些问题

我现在可以使用 sendmailmail some@external.com来接收邮件。

但是,添加地址/root/.forward实际上并没有转发消息。我在日志中得到以下信息:

Dec 22 14:04:37 batcave sendmail[4695]: 
       oBML4bAT004695: to=<root@batcave>, ctladdr=aburns (1000/1000), 
       delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30075, 
       relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (oBML4bJ9004696 
       Message accepted for delivery)
Dec 22 14:04:39 batcave sm-mta[4698]: STARTTLS=client, relay=[69.145.248.18],
       version=TLSv1/SSLv3, verify=FAIL, cipher=DES-CBC3-SHA, bits=168/168
Dec 22 14:04:40 batcave sm-mta[4698]: oBML4bJ9004696: to=<root@batcave.net>,
       ctladdr=<aburns@bresnan.net> (1000/1000), delay=00:00:03, xdelay=00:00:03,
       mailer=relay, pri=120336, relay=[69.145.248.18] [69.145.248.18], 
       dsn=2.0.0, stat=Sent (OK 01/D4-00853-216621D4)
Run Code Online (Sandbox Code Playgroud)

您可以看到我的本地 sendmail 实例在哪里接受它,然后将它交给我的 ISP,但地址错误 (root@batcave.net)。

email linux sendmail

7
推荐指数
1
解决办法
3万
查看次数

我需要打开 25 端口才能使用 php 邮件功能发送电子邮件吗?

我有一个 Linux 网络应用程序。

我是否需要打开端口 25 才能仅使用 PHP 邮件功能发送电子邮件?如果我必须打开端口 25,如何禁用接收电子邮件?

编辑: 我问是因为我知道 sendmail 是我服务器上的消息传输代理。

email php email-server sendmail

7
推荐指数
2
解决办法
2万
查看次数

告诉 sendmail 进行身份验证?

我已经在这里坐了几个小时,现在试图让 sendmail 通过外部 SMTP 服务器发送电子邮件。我已经非常接近了,但现在我完全被困住了。sendmail 似乎没有发送我设置的身份验证信息。有没有我遗漏的配置行?

请帮忙。:(

运行 CentOS 5.7

编辑

根据要求,我将从我的 sendmail 中添加一些内容。

我指定使用身份验证信息的地方:

FEATURE(authinfo',hash -o /etc/mail/auth/client-info.db')dnl

/etc/mail/auth/client-info:

AuthInfo:in.mailjet.com "U:myusername" "P:mypassword" "M:PLAIN"

尝试发送电子邮件:

# sendmail -AM -t -v
to:myemail@gmail.com
from:root@mydomain.com
.
myemail@gmail.com... Connecting to in6.mailjet.com. via relay...
220 in6.mailjet.com ESMTP Mailjet
>>> EHLO mydomain.com
250-in6.mailjet.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5
250-AUTH=PLAIN LOGIN DIGEST-MD5 CRAM-MD5
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
>>> STARTTLS
220 2.0.0 Ready to start TLS
>>> EHLO mydomain.com
250-in6.mailjet.com
250-PIPELINING
250-SIZE …
Run Code Online (Sandbox Code Playgroud)

sendmail centos

7
推荐指数
1
解决办法
6565
查看次数

如何在 Sendmail 中禁用反向 DNS

我想在 Sendmail 中禁用反向 DNS 查找。

我们有一个 SMTP 中继,运行 Sendmail,带有基于 IP 的 access.db。我们不需要反向查找,事实上,它们可能会导致响应时间延迟。这会在监控中触发警报......这让人们不高兴。

我进行了搜索,但找不到任何内容来禁用传入连接的反向 DNS 查找。显然,我不能只是终止所有 DNS 查找,因为这样就不会发送邮件。

  • 操作系统:centos 5
  • sendmail.x86_64 8.13.8-8.1.el5_7
  • 发送邮件-cf.x86_64 8.13.8-8.1.el5_7

提前致谢!

domain-name-system sendmail

6
推荐指数
1
解决办法
8810
查看次数

Sendmail:将信封发件人设置为固定值

我需要一种方法来配置 sendmail,将每条消息的信封发件人设置为固定值(例如 foo@bar.com)。请注意,任何 MASQUERADE 功能/宏(据我所知)都没有回答这个问题:我还想覆盖信封用户并将其设置为固定值。

编辑:另外,我不想伪装标头发​​送者。所以 GENERICSTABLE + MASQUERADE_ENVELOPE 也不会削减它。我需要的是相当于命令行sendmail -f foo@bar.com

(理由:我被客户强迫通过一个身份验证中继,该中继坚持拥有给定的信封发件人地址 - 不,我并不是试图规避任何反垃圾邮件措施,我只是想发送 root 的邮件 - 以及其他管理内容 - 异地。它是一个应用程序服务器,所有邮件均由服务器发起,但发件人地址仍然需要有意义)

TIA。

sendmail

6
推荐指数
1
解决办法
1万
查看次数

在 cron globaly 中禁用邮件

网络上充满了如何禁用 cron 中的邮件的建议,就像这里所问的那样,阻止 linux 向我发送 cron 错误?. 是否真的没有全局配置标志可以设置为所有用户和所有命令禁用 cron 中的邮件。我真的不想告诉所有用户你必须添加

MAILTO=""
Run Code Online (Sandbox Code Playgroud)

或者

<command> > /dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)

到您的 crontab。

email linux sendmail cron

6
推荐指数
1
解决办法
3002
查看次数

使用 TLS 时 Microsoft 拒绝的 Sendmail 消息

我将首先声明我不是 sendmail 方面的专家。我很少使用它,但在这种情况下,我必须为我的客户使用。

背景:

我的一个客户端有一个运行 Debian 7.7、Sendmail 8.14.4 和 OpenSSL 1.0.1e 的邮件服务器。它生成电子邮件(诸如帐户重置之类的内容)并将其发送给客户。我将其称为“服务器 A”。

由于 TLS 握手失败,从服务器 A 发送到域 *.outlook.com 中的任何邮件服务器的邮件(奇怪的是不包括 @outlook.com 邮件,这些邮件由 hotmail 处理)被推迟。这只是微软拥有的服务器的问题;其他一切都在工作。日志中的错误类似于:

sendmail[22213]: ruleset=tls_server, arg1=SOFTWARE, relay=mail.protection.outlook.com, reject=403 4.7.0 TLS handshake

sendmail[22213]: s2L9EakQ022098: to=<blah@microsoft.com>, delay=00:00:55, xdelay=00:00:31, mailer=esmtp, pri=181653, relay=mail.protection.outlook.com. [145.123.225.25], dsn=4.0.0, stat=Deferred
Run Code Online (Sandbox Code Playgroud)

注意:这些日志是编造的,因为我的客户不希望复制和粘贴内容,以免意外泄漏敏感数据。信息就在那里,我只是手动输入,所以忽略错别字等。

这就是我可以从日志中获得的全部信息,即使日志是 15(除此之外,系统开始成为磁盘绑定)。

问题:

握手的 tcpdump 显示服务器 A 正在连接到 Outlook.com,EHLO 成功,服务器 A 启动了 STARTTLS,然后 Outlook.com 以其证书链响应。所有这一切都很正常。

然后在服务器 A 收到微软证书链后,服务器 A 发送了自己的客户端证书。Outlook.com 然后断开了连接。

我们的客户端证书是我们用于组织内部验证的自签名证书,不应发布到 Outlook.com。

根据我有限的知识,我最好的猜测是,outlook.com 正在请求客户端证书进行验证(或者至少 sendmail 认为它请求证书),服务器 A 上的 sendmail 是有义务的。Outlook.com 然后断开连接,要么是因为证书无效,要么不是它所期望的。

两个问题:

  1. 为什么 sendmail 将客户端证书作为 …

sendmail openssl

6
推荐指数
1
解决办法
1万
查看次数

从 postfix 发送的邮件中没有 DKIM 标头

我有两个后缀,一个用于接收邮件,另一个用于发送邮件,但我在外发邮件上签署 dkim 时遇到问题。我按照这个教程进行了操作。

\n

日志也不能帮助我指出主要问题。OpenDKIM 运行良好:

\n
\xe2\x97\x8f opendkim.service - OpenDKIM DomainKeys Identified Mail (DKIM) Milter\n     Loaded: loaded (/lib/systemd/system/opendkim.service; enabled; vendor preset: enabled)\n     Active: active (running) since Fri 2021-06-18 17:39:40 UTC; 4s ago\n       Docs: man:opendkim(8)\n             man:opendkim.conf(5)\n             man:opendkim-genkey(8)\n             man:opendkim-genzone(8)\n             man:opendkim-testadsp(8)\n             man:opendkim-testkey\n             http://www.opendkim.org/docs.html\n    Process: 246310 ExecStart=/usr/sbin/opendkim -x /etc/opendkim.conf (code=exited, status=0/SUCCESS)\n   Main PID: 246321 (opendkim)\n      Tasks: 7 (limit: 4681)\n     Memory: 2.8M\n     CGroup: /system.slice/opendkim.service\n             \xe2\x94\x9c\xe2\x94\x80246321 /usr/sbin/opendkim -x /etc/opendkim.conf\n             \xe2\x94\x94\xe2\x94\x80246322 /usr/sbin/opendkim -x /etc/opendkim.conf\n\nJun 18 17:39:40 testmailcdo systemd[1]: Starting OpenDKIM DomainKeys Identified Mail (DKIM) …
Run Code Online (Sandbox Code Playgroud)

ubuntu postfix sendmail dkim ubuntu-20.04

6
推荐指数
1
解决办法
1559
查看次数