标签: postfix

为什么我无法发送邮件到远程邮箱?

我已经在我的 CentOS 机器上安装了 Postfix。我可以很好地使用 将邮件发送到本地帐户mutt,但是当我尝试将邮件发送到 myactualmail@gmail.com 之类的远程邮件时,我不明白为什么我无法接收任何内容。这是我的main.cf

queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
myhostname = server.example.com
mydomain = example.com
myorigin = $mydomain
inet_interfaces = all
inet_protocols = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
unknown_local_recipient_reject_code = 550
mynetworks = 192.168.200.0/24, 127.0.0.0/8
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
debug_peer_level = 2
debugger_command =
     PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
     ddd $daemon_directory/$process_name $process_id & sleep 5


sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = …
Run Code Online (Sandbox Code Playgroud)

smtp email postfix

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

postfix smtp 连接超时,为什么?

CentOS 7 Web 服务器安装了 postfix、dovecot 和 mailx。我已经能够与服务器建立 IMAP 连接,以便使用远程 Thunderbird 客户端读取收件箱邮件,但我无法建立 SMTP 连接以从 Thunderbird 发送电子邮件。当我进行取证时,我发现尝试的 SMTP 连接超时。 如何解决连接超时的问题,以便我可以通过服务器从 Thunderbird 发送电子邮件?

到目前为止,我的取证结果是:

hostname在服务器的终端中键入返回mydomain.com

nano /usr/lib/firewalld/services/smtp.xml 表示 smtp 端口为 25

smtp 服务在公共区域被激活,因为firewall-cmd --list-all结果:

public (default, active)
  interfaces: enp3s0
  sources: 
  services: dhcpv6-client imaps openvpn smtp
  ports: 
  masquerade: yes
  forward-ports: 
  icmp-blocks: 
  rich rules: 
Run Code Online (Sandbox Code Playgroud)

但是当我尝试从我的 devbox telnet 到远程 CentOS 7 服务器时,我得到以下结果。打字telnet mydomain.com 25导致:

Trying my.SERVER.ip.addr...
telnet: connect to address my.SERVER.ip.addr: Connection timed out
Run Code Online (Sandbox Code Playgroud)

然后输入telnet smtp.mydomain.com 25结果: …

email centos ssl openssl postfix

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

使用 SMTP 到外部收件人时中继访问被拒绝 POSTFIX FREEBSD

我正在尝试使用 postfix 和 dbmail 通过我的 freebsd 服务器向外部地址发送电子邮件。

我注意到以下几点:

MYSERVER -> MYSERVER = OKAY

外部服务器 -> MYSERVER = OKAY

MYSERVER -> EXTERNALSERVER = 错误(454 4.7.1 中继访问被拒绝)

为什么我会收到这个错误?我认为这与我的 main.cf 有关

####MAIN.CF######
queue_directory = /var/spool/postfix
command_directory = /usr/local/sbin
daemon_directory = /usr/local/libexec/postfix
data_directory = /var/db/postfix
mail_owner = postfix
default_privs = nobody
myhostname = server.domain.nl
mydomain = domain.nl
myorigin = $mydomain
inet_interfaces = all
virtual_transport = dbmail-lmtp:localhost:24
virtual_mailbox_domains = domain.nl
unknown_local_recipient_reject_code = 550
mynetworks = 127.0.0.0/8 [::1]/128
smtpd_helo_required = yes
strict_rfc821_envelopes = yes
debug_peer_level = …
Run Code Online (Sandbox Code Playgroud)

freebsd smtp email postfix

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

Postfix 配置 - 保留信封

我有一个 postfix 服务器,它可以发送邮件并将外发邮件的副本发送到第二台服务器以使用以下配置进行内容分析(地址和 IP 已被替换):

main.cf 内容

sender_bcc_maps = pcre:/$config_directory/sender_bcc
Run Code Online (Sandbox Code Playgroud)

sender_bcc 内容

/^(.*)@(.*)$/                   ${1}@tst.example.com
Run Code Online (Sandbox Code Playgroud)

transport_maps 内容

tst.example.com     smtp:[192.168.1.1]
Run Code Online (Sandbox Code Playgroud)

不幸的是,上面的配置没有保留信封,所以我没有在第二台服务器上获得原始收件人。拥有原始收件人的目标是捕获密件抄送。有没有办法只通过配置 Postfix 来做到这一点?一个好的结果的例子是让后缀添加类似的东西

x-bcc: test@example.com
or
x-original-recipient: test@example.com
Run Code Online (Sandbox Code Playgroud)

到发送到第二台服务器的电子邮件标头(并且只有它们。显然,我们不想在发送给用户的电子邮件中添加密件抄送标头或类似内容)。

我到处找,没有找到任何可以添加原始收件人的内容。也许还有其他方法?欢迎提出任何达到最终目标的建议!

email postfix forwarding

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

如何丢弃从特定本地用户发送到外部地址的邮件?

如何配置 Postfix 以静默丢弃/丢弃从我的一个用户发送到外部地址的邮件?

我已经能够使用以下 transport_maps 丢弃所有发往外部地址的邮件

example.com      :
*          discard:
Run Code Online (Sandbox Code Playgroud)

但是,我只想将此规则应用于 Postfix 服务器中的一个用户。

此外,寄往外部和本地地址的邮件应该只发送给本地用户。

为什么我需要这个?

我工作的公司认为实习生不应该直接向客户发送邮件。因此,实习生将使用客户地址发送一封邮件to,并将其主管添加到cc. 那么Postfix应该只将邮件投递给主管,这样他就可以在不搜索客户地址的情况下检查并将邮件发送给客户。

postfix

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

将 /etc/aliases 用于由 postfix 与本地域中继的外发邮件

我正在使用 Ubuntu 12.04,后缀配置为卫星系统,将外发邮件中继到 Gmail。例如,我的注册域是 example.com 我希望 root cronjobs 的错误输出被邮寄到我真正的 david@example.com 收件箱。我让这个继电器正常工作。

但是这些 root cronjobs 默认设置为通过电子邮件发送到 root@example.com,这不是真正的电子邮件地址。我在我的/etc/aliases

root: david@example.com
Run Code Online (Sandbox Code Playgroud)

example.com 未在 postfix 的 main.cf 中列出,mydestination因此 postfix 认为此邮件不是本地邮件。它绕过通过处理/etc/aliases并尝试发送到 root@example.com。

解决方法是MAILTO=david在每个 cron 文件的顶部添加。但是有很多。另一种解决方法是将 root@example.com 设置为转发到 david@example.com 的真实收件箱。有没有更好的办法?即有没有办法中继具有本地域但仍使用/etc/aliases?

cron postfix

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

系统邮箱无法删除

在 Ubuntu 上运行 Postfix 时,我在一个帐户中获得了许多测试电子邮件usr1,现在我想在开始其他测试之前将其删除。但是,每次我尝试同时使用d #“删除 #”和“删除 #”进行删除时,都没有任何反应。

例子:

usr1@usr1:~$ mail  
"/var/mail/usr1": 5 messages 5 unread  
>U   1 usr2              Tue Apr 30 15:54  19/478   Testing local mail  
U   2 Mail Delivery Syst Tue Apr 30 15:54  78/2433  Undelivered Mail Returned to Sender
U   3 usr2               Tue Apr 30 15:55  19/614   Re: Testing local mail
U   4 usr2               Tue Apr 30 15:55  19/604   Re: Testing local mail
U   5 Mail Delivery Syst Tue Apr 30 15:55  73/2219 …
Run Code Online (Sandbox Code Playgroud)

linux ubuntu email postfix

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

使用 Mutt 在本地访问 Maildir,同时通过 IMAP 远程访问

我的邮件服务器上有Postfix+ Maildir+ Dovecot+ IMAP。我正在通过IMAP一个或多个客户端 (Thunderbird)远程访问我的邮箱。此外,在服务器上,我为本地 ( Maildir) 访问配置了 mutt 。

当我IMAP与 Thunderbird连接并同时mutt在服务器上本地启动时,Mutt似乎很困惑。当我在 Thunderbird (over IMAP) 中移动消息时,Mutt注意到某些内容发生了变化并报告:

Mailbox was externally modified.  Flags may be wrong
Run Code Online (Sandbox Code Playgroud)

问题似乎是片面的。当我在 中操作消息时Mutt,Thunderbird 会注册更改并且没有问题。

因此我的问题:

如何在没有任何冲突/数据损坏/错误的情况下进行远程IMAP客户端和本地Mutt客户端访问Maildir

重要的:

我正在寻找一种Mutt本地访问的解决方案。出于本讨论之外的原因,我不想Mutt通过以下方式访问 MaildirIMAP.

边注:

我不明白为什么Mutt抱怨邮箱被外部修改。毕竟,Postfix 在发送新邮件时也会修改邮箱。

mutt imap postfix maildir dovecot

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

完全禁用后缀 HELO 检查

我正在尝试为一个古怪的旧语音邮件系统设置邮件中继。我在 vm 上设置了 postfix,启用了中继,验证了我可以从同一子网 telnet 到端口 25 并在我想要的任何地方发送邮件。这是我的 main.cf:

# See /usr/share/postfix/main.cf.dist for a commented, more complete version

# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = …
Run Code Online (Sandbox Code Playgroud)

postfix

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

postfix 邮件传送状态报告在哪里?

我正在使用 CentOS 7。我想测试我的 PostFix 邮件转发,所以我运行

[root@server /]# echo "Subject: sendmail test" | sendmail -v admin@mydomein.com
Mail Delivery Status Report will be mailed to <root>.
Run Code Online (Sandbox Code Playgroud)

我没有看到我的转发地址收到的电子邮件,也无法弄清楚所发生事件的日志在哪里。我检查了

[root@server /]# ls -al /var/log/maillog
-rw------- 1 root root 0 Mar  6 09:48 /var/log/maillog
Run Code Online (Sandbox Code Playgroud)

但该日志文件是空的。我如何找出哪里出了问题?

logs centos postfix

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

标签 统计

postfix ×10

email ×5

centos ×2

smtp ×2

cron ×1

dovecot ×1

forwarding ×1

freebsd ×1

imap ×1

linux ×1

logs ×1

maildir ×1

mutt ×1

openssl ×1

ssl ×1

ubuntu ×1