为什么我不能用mail命令阅读邮件?
(有几乎肯定是有问题与mail-stack-delivery配置,无论是postfix或dovecot,或两者兼而有之,但我仍然应该至少能够读取有没有从CLI邮件。)
thufir@mordor:~$
thufir@mordor:~$ ls -l /var/mail
total 0
thufir@mordor:~$
Run Code Online (Sandbox Code Playgroud)
很多无关的细节要遵循:
thufir@mordor:~$
thufir@mordor:~$ swaks --to thufir@localhost
=== Trying localhost:25...
=== Connected to localhost.
<- 220 mordor.bounceme.net ESMTP Postfix (Ubuntu)
-> EHLO mordor.bounceme.net
<- 250-mordor.bounceme.net
<- 250-PIPELINING
<- 250-SIZE 10240000
<- 250-VRFY
<- 250-ETRN
<- 250-STARTTLS
<- 250-ENHANCEDSTATUSCODES
<- 250-8BITMIME
<- 250 DSN
-> MAIL FROM:<thufir@mordor.bounceme.net>
<- 250 2.1.0 Ok
-> RCPT TO:<thufir@localhost>
<- 250 2.1.5 Ok
-> DATA …Run Code Online (Sandbox Code Playgroud) 我的主磁盘是 SSD,因此为了通过减少写入来保持其使用寿命,我遵循了一些建议,并/var/spool通过将此行添加到/etc/fstab以下内容制作了一个 ram 磁盘:
tmpfs /var/spool tmpfs defaults,noatime,mode=1777 0 0
Run Code Online (Sandbox Code Playgroud)
后来我配置了 postfix,因为我的系统上有一个 RAID 阵列,如果 RAID 阵列出现故障,mdadm 想给我发送电子邮件,这听起来是个好主意。电子邮件发送工作正常,直到我重新启动,此时:
postfix: fatal: open /etc/postfix-out/main.cf: No such file or directory
Run Code Online (Sandbox Code Playgroud)
对此的修复显然是:
mkdir /var/spool/postfix
postfix check
Run Code Online (Sandbox Code Playgroud)
然后我发现我还必须这样做:
mkfifo /var/spool/postfix/public/pickup
service postfix restart
Run Code Online (Sandbox Code Playgroud)
现在发送电子邮件工作正常......直到下次重新启动。
那么:如果 /var/spool/postfix 不存在,那么在启动时自动重新创建它的内容的最正确方法是什么?
我正在使用 Ubuntu Server 12.04。
我正在使用 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?
我已经在 Ubuntu 14.04 LTS 上设置了带有 iRedMail 的 SMTP 服务器,并且一切正常。我可以创建新用户并发送电子邮件。
然而,我的情况有点复杂:我需要此服务器代表我的域名“sampledomain.xxx”发送电子邮件,但我使用托管邮件服务来接收电子邮件。我的域 DNS 的 MX 记录设置为与我刚刚设置的 SMTP 服务器不同的 IP。基本上这应该是一个仅用于外发的 SMTP 服务器。
当我需要使用SMTP服务器作为user1@sampledomain.xxx到user2@sampledomain.xxx时出现问题,因为Postfix认为邮件应该在内部中继,但它在虚拟域的邮箱中找不到地址,因此无法发送电子邮件。
如何将 Postfix 配置为不在内部中继此类电子邮件,而是解析 MX 记录并将其作为经典电子邮件发送?
非常感谢!
我有一个运行 postfix-dovecot 电子邮件服务器的 EC2 实例。我使用 AWS 安全密钥来访问这个 EC2,我认为安全性非常严格。
当我运行时: systemctl list-units --type service --all
我在列表中看到这些可疑的条目:
UNIT LOAD ACTIVE SUB DESCRIPTION
?ùÅ auditd.service not-found inactive dead auditd.service
?ùÅ connman.service not-found inactive dead connman.service
?ùÅ console-screen.service not-found inactive dead console-screen.service
?ùÅ display-manager.service not-found inactive dead display-manager.service
?ùÅ exim4.service not-found inactive dead exim4.service
?ùÅ fcoe.service not-found inactive dead fcoe.service
?ùÅ iscsi-shutdown.service not-found inactive dead iscsi-shutdown.service
Run Code Online (Sandbox Code Playgroud)
我的服务器正在运行:Spamassasin、Clamav、Spamass-milter 和 AppArmor
我的服务器只允许通过受信任的证书颁发机构签署的域证书对 SSL/TLS 进行身份验证访问。它不允许来自未知域用户或未知客户端的邮件。
Open ports on my EC2 security group for any IP address:
HTTP …Run Code Online (Sandbox Code Playgroud) 我按照此处的说明操作如何使用命令行发送电子邮件?,但它不起作用。当我测试向某人邮寄时,它返回:
(SASL authentication failed; server smtp.gmail.com[74.125.130.109] said: 535-5.7.8 Username and Password not accepted.
Run Code Online (Sandbox Code Playgroud)
我已经按照答案的建议解锁了验证码,但仍然无法正常工作。
我已经用卫星配置配置了 postfix。我在系统日志中发现了以下警告。知道这意味着什么吗?我该如何解决这个问题?
Jul 16 13:39:24 mou-lanister postmulti[2042]: warning: /etc/postfix/main.cf, line 43: overriding earlier entry: relayhost=smtp.gmail.com
Jul 16 13:39:24 mou-lanister postmulti[2046]: warning: /etc/postfix/main.cf, line 43: overriding earlier entry: relayhost=smtp.gmail.com
Jul 16 13:39:24 mou-lanister postmulti[2053]: warning: /etc/postfix/main.cf, line 43: overriding earlier entry: relayhost=smtp.gmail.com
Jul 16 13:39:24 mou-lanister postmulti[2057]: warning: /etc/postfix/main.cf, line 43: overriding earlier entry: relayhost=smtp.gmail.com
Jul 16 13:39:24 mou-lanister postmulti[2061]: warning: /etc/postfix/main.cf, line 43: overriding earlier entry: relayhost=smtp.gmail.com
Jul 16 13:39:24 mou-lanister postmulti[2063]: warning: /etc/postfix/main.cf, line 43: overriding earlier entry: relayhost=smtp.gmail.com …Run Code Online (Sandbox Code Playgroud) 我需要能够同时通过电子邮件发送两个文件的内容。我现在可以将它作为两封单独的电子邮件发送。
我能够通过这样的一封邮件发送一个文件的内容:
mail -s "numeric data" eg@example.com < /home/num1.txt
Run Code Online (Sandbox Code Playgroud)
如何同时发送 2 个文件的内容?
如果我像这样使用它:
mail -s "numeric data" eg@example.com < /home/num1.txt /home/num2.txt
Run Code Online (Sandbox Code Playgroud)
它将只发送第一个内容并编辑第二个文件。
我是 postfix 服务器的新手,并尝试按照以下要求设置简单的 postfix 服务器和客户端-
Postfix 服务器应该能够向具有网络“192.168.100.0/24”和“172.25.1.0/24”的 Postfix 客户端发送邮件,但不能向具有网络 - 10.10.1.0/24 的客户端发送邮件
互联网上到处都提到 -
“您可以在 main.cf 文件中指定受信任的网络,或者您可以让 Postfix 为您完成工作。默认情况是让 Postfix 完成工作。结果取决于 mynetworks_style 参数值。或者,您可以手动指定 mynetworks 列表,在这种情况下,Postfix 会忽略 mynetworks_style 设置。”
所以,下面是我在/etc/postfix/main.cf中对 postfix 服务器的现有设置-
myhostname = mail.hr.example.com
mydomain = hr.example.com
myorigin = $mydomain
inet_interfaces = 全部
mydestination = $myhostname、localhost.$mydomain、localhost、$mydomain
mynetworks = 192.168.100.0/24、127.0.0.0/8 , 172.25.1.0/24
postfix服务器的IP地址是192.168.100.10,主机名是hr.example.com
/etc/postfix/main.cf中 Postfix 客户端的设置是 -
myhostname = mail.mkt.example.com
mydomain = mkt.example.com
myorigin = $mydomain
inet_interfaces = 全部
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain …
postfix ×9
email ×6
server ×4
12.04 ×2
dovecot ×2
mail ×2
mail-server ×2
14.04 ×1
amazon-ec2 ×1
command-line ×1
cron ×1
dns ×1
log ×1
networking ×1
ssd ×1
tmpfs ×1