首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Linode (Debian)框中有多个web应用程序--是否可以通过sendmail从多个域发送电子邮件?

Linode (Debian)框中有多个web应用程序--是否可以通过sendmail从多个域发送电子邮件?
EN

Server Fault用户
提问于 2019-07-25 19:09:25
回答 1查看 79关注 0票数 0

我有一个Linode实例,其中我将托管几个小型的LEMP应用程序。每个应用程序都需要发送电子邮件给用户(主要是为了帐户注册.论坛/评论和诸如此类)。我希望能够使用sendmail来完成这个任务,因为它已经安装在系统上了。这有可能吗?我不指望会有很多流量/电子邮件的使用,所以我使用的是Google的SMTP服务器:

其思想是sendmail将是一个空客户端-它可以发送邮件(我已经从它得到系统通知(OSSEC,Fail2ban),但不接收传入的邮件。任何应用程序联系人表单/机制都会向应用程序本身发送一条消息,然后他们可以通过自己的电子邮件直接与其通信。不过,我有几个问题:

  1. 是否有可能配置每个应用程序都有自己的发送电子邮件地址/身份?我已经将每个应用程序分离成了自己的linux用户,没有sudo访问权限。所以(虚构的名字),鲍勃的Widget Emporium是它自己的独立用户,萨利的可怕的政治观点也是如此。由于虚拟主机的存在,每个应用程序都通过Linode的云DNS管理器拥有自己的域名记录(S)。
  2. 我需要做些什么才能不让这些电子邮件被视为垃圾邮件?这种配置是在集中式的箱级,还是在每个帐户上完成的?
  3. 我需要做些什么来阻止来自外部的电子邮件?我的表如下-

ipv4:

代码语言:javascript
运行
复制
$ sudo iptables -vL
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
 8887  909K f2b-ssh    tcp  --  any    any     anywhere             anywhere             multiport dports ssh
 1282  128K ACCEPT     all  --  lo     any     anywhere             anywhere            
    0     0 REJECT     all  --  !lo    any     127.0.0.0/8          anywhere             reject-with icmp-port-unreachable
  162  5770 ACCEPT     icmp --  any    any     anywhere             anywhere             state NEW icmp echo-request
  668 38256 ACCEPT     tcp  --  any    any     anywhere             anywhere             tcp dpt:ssh state NEW
  355 19004 ACCEPT     tcp  --  any    any     anywhere             anywhere             tcp dpt:http state NEW
  424 22736 ACCEPT     tcp  --  any    any     anywhere             anywhere             tcp dpt:https state NEW
48568 4098K ACCEPT     all  --  any    any     anywhere             anywhere             state RELATED,ESTABLISHED
 6996  368K LOG        all  --  any    any     anywhere             anywhere             limit: avg 5/min burst 5 LOG level debug prefix "iptables_INPUT_denied: "
 7413  388K REJECT     all  --  any    any     anywhere             anywhere             reject-with icmp-port-unreachable

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 LOG        all  --  any    any     anywhere             anywhere             limit: avg 5/min burst 5 LOG level debug prefix "iptables_FORWARD_denied: "
    0     0 REJECT     all  --  any    any     anywhere             anywhere             reject-with icmp-port-unreachable

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain f2b-ssh (1 references)
 pkts bytes target     prot opt in     out     source               destination         
 8531  881K RETURN     all  --  any    any     anywhere             anywhere

ipv6:

代码语言:javascript
运行
复制
sudo ip6tables -vL
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     all      lo     any     anywhere             anywhere            
    0     0 REJECT     all      !lo    any     localhost            anywhere             reject-with icmp6-port-unreachable
67580 6991K ACCEPT     ipv6-icmp    any    any     anywhere             anywhere            
   31  2480 ACCEPT     tcp      any    any     anywhere             anywhere             tcp dpt:http state NEW
   33  2640 ACCEPT     tcp      any    any     anywhere             anywhere             tcp dpt:https state NEW
10922   50M ACCEPT     all      any    any     anywhere             anywhere             state RELATED,ESTABLISHED
    4  2956 LOG        all      any    any     anywhere             anywhere             limit: avg 5/min burst 5 LOG level debug prefix "ip6tables_INPUT_denied: "
    4  2956 REJECT     all      any    any     anywhere             anywhere             reject-with icmp6-port-unreachable

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 LOG        all      any    any     anywhere             anywhere             limit: avg 5/min burst 5 LOG level debug prefix "ip6tables_FORWARD_denied: "
    0     0 REJECT     all      any    any     anywhere             anywhere             reject-with icmp6-port-unreachable

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

考虑到我的例子可以发送电子邮件,我猜它现在也能收到它们。

那么,是否可以只使用sendmail来完成所有这些,如果是,我将如何配置这些东西?或者,如果这是一个过于宽泛的问题,请让我知道,我将分担它。

EN

回答 1

Server Fault用户

发布于 2019-07-25 21:45:04

  1. 是。一些应用程序支持指定"from“地址。否则,您可以使用sendmail的可扩展特性,其中

将导致在地图中查找非限定地址(即没有域)和类{G}中列出的域的地址,并将其转换为另一种(“泛型”)形式,该表单可以同时更改域名和用户名。

示例:

代码语言:javascript
运行
复制
FEATURE(masquerade_envelope)
FEATURE(genericstable, `hash -o /etc/mail/genericstable')
GENERICS_DOMAIN_FILE(`/etc/mail/genericsdomain') 

在/etc/mail/泛型

代码语言:javascript
运行
复制
bob bob@widgetemp.com
sally sally@poliviews.com
  1. 您需要对邮件服务器进行正向和反向DNS匹配。您需要为您将要使用的域设置SPF。如果IP出现在http://www.anti-abuse.org/multi-rbl-check/中,则需要获得不同的IP。(考虑使用托管邮件服务。运行邮件服务器是恼人的,因为垃圾邮件发送者破坏一切。但是,由于您使用的是sendmail,所以您必须喜欢疼痛。)
  2. 默认情况下,sendmail只在本地主机上侦听,因此不需要做任何事情。如果您已经配置为在所有接口上侦听,那么就撤消它。
票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/976734

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档