我可以收到邮件,但不能发送到外面的世界Squirrelmail。
Message not sent. Server replied: Temporary authentication failure 454 4.7.1 <[email protected]>: Relay access denied
我再次检查后缀的作品,即能够通过mail.domain.com和smtp.domain.com远程login。 鸽舍也可以。 似乎松鼠邮件是一个嫌疑人。 玩configuration,不知道是什么原因导致的问题。
日志显示此信息:
mail.domain.com postfix/smtpd[4443]: connect from mail.domain.com[XXX.XXX.XXX.XXX] mail.domain.com postfix/smtpd[4443]: NOQUEUE: reject: RCPT from mail.domain.com[XXX.XXX.XXX.XXX]: 454 4.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<mail.domain.com> mail.domain.com postfix/smtpd[4443]: lost connection after RCPT from mail.domain.com[XXX.XXX.XXX.XXX] mail.domain.com postfix/smtpd[4443]: disconnect from mail.domain.com[XXX.XXX.XXX.XXX] ehlo=1 mail=1 rcpt=0/1 commands=2/3
netstat -plntu
Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 940/dovecot tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 940/dovecot tcp 0 0 192.168.124.1:53 0.0.0.0:* LISTEN 1107/dnsmasq tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1905/cupsd tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 937/master tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 940/dovecot tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN 940/dovecot tcp6 0 0 :::110 :::* LISTEN 940/dovecot tcp6 0 0 :::143 :::* LISTEN 940/dovecot tcp6 0 0 :::80 :::* LISTEN 3521/httpd tcp6 0 0 ::1:631 :::* LISTEN 1905/cupsd tcp6 0 0 :::993 :::* LISTEN 940/dovecot tcp6 0 0 :::995 :::* LISTEN 940/dovecot udp 0 0 127.0.0.1:323 0.0.0.0:* 736/chronyd udp 0 0 0.0.0.0:5353 0.0.0.0:* 722/avahi-daemon: r udp 0 0 0.0.0.0:55024 0.0.0.0:* 722/avahi-daemon: r udp 0 0 192.168.124.1:53 0.0.0.0:* 1107/dnsmasq udp 0 0 0.0.0.0:67 0.0.0.0:* 1107/dnsmasq udp6 0 0 :::41119 :::* 722/avahi-daemon: r udp6 0 0 ::1:323 :::* 736/chronyd udp6 0 0 :::5353 :::* 722/avahi-daemon: r
iptables如下:
iptables -S -P INPUT ACCEPT -P FORWARD ACCEPT -P OUTPUT ACCEPT -A INPUT -i virbr0 -p udp -m udp --dport 53 -j ACCEPT -A INPUT -i virbr0 -p tcp -m tcp --dport 53 -j ACCEPT -A INPUT -i virbr0 -p udp -m udp --dport 67 -j ACCEPT -A INPUT -i virbr0 -p tcp -m tcp --dport 67 -j ACCEPT -A FORWARD -d 192.168.124.0/24 -o virbr0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A FORWARD -s 192.168.124.0/24 -i virbr0 -j ACCEPT -A FORWARD -i virbr0 -o virbr0 -j ACCEPT -A FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable -A FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable -A OUTPUT -o virbr0 -p udp -m udp --dport 68 -j ACCEPT
iptables -L
Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT udp -- anywhere anywhere udp dpt:domain ACCEPT tcp -- anywhere anywhere tcp dpt:domain ACCEPT udp -- anywhere anywhere udp dpt:bootps ACCEPT tcp -- anywhere anywhere tcp dpt:bootps Chain FORWARD (policy ACCEPT) target prot opt source destination ACCEPT all -- anywhere 192.168.124.0/24 ctstate RELATED,ESTABLISHED ACCEPT all -- 192.168.124.0/24 anywhere ACCEPT all -- anywhere anywhere REJECT all -- anywhere anywhere reject-with icmp-port-unreachable REJECT all -- anywhere anywhere reject-with icmp-port-unreachable Chain OUTPUT (policy ACCEPT) target prot opt source destination ACCEPT udp -- anywhere anywhere udp dpt:bootpc
iptables-save命令
*mangle :PREROUTING ACCEPT [9985:4365661] :INPUT ACCEPT [9969:4364853] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [10509:2272775] :POSTROUTING ACCEPT [10545:2275457] -A POSTROUTING -o virbr0 -p udp -m udp --dport 68 -j CHECKSUM --checksum-fill COMMIT *nat :PREROUTING ACCEPT [78:6056] :INPUT ACCEPT [62:5248] :OUTPUT ACCEPT [1057:68220] :POSTROUTING ACCEPT [1057:68220] -A POSTROUTING -s 192.168.124.0/24 -d 224.0.0.0/24 -j RETURN -A POSTROUTING -s 192.168.124.0/24 -d 255.255.255.255/32 -j RETURN -A POSTROUTING -s 192.168.124.0/24 ! -d 192.168.124.0/24 -p tcp -j MASQUERADE --to-ports 1024-65535 -A POSTROUTING -s 192.168.124.0/24 ! -d 192.168.124.0/24 -p udp -j MASQUERADE --to-ports 1024-65535 -A POSTROUTING -s 192.168.124.0/24 ! -d 192.168.124.0/24 -j MASQUERADE COMMIT *filter :INPUT ACCEPT [9969:4364853] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [10509:2272775] -A INPUT -i virbr0 -p udp -m udp --dport 53 -j ACCEPT -A INPUT -i virbr0 -p tcp -m tcp --dport 53 -j ACCEPT -A INPUT -i virbr0 -p udp -m udp --dport 67 -j ACCEPT -A INPUT -i virbr0 -p tcp -m tcp --dport 67 -j ACCEPT -A FORWARD -d 192.168.124.0/24 -o virbr0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A FORWARD -s 192.168.124.0/24 -i virbr0 -j ACCEPT -A FORWARD -i virbr0 -o virbr0 -j ACCEPT -A FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable -A FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable -A OUTPUT -o virbr0 -p udp -m udp --dport 68 -j ACCEPT COMMIT
更新15.11.2017:此问题已通过更改Squirrelmail中的configuration来解决。 跑
/usr/share/squirrelmail/config/conf.pl
转到:服务器设置 – >更新IMAP设置 – > imap.domain.com和更新SMTP设置 – > smtp.domain.com。 它曾经只是localhost。
更新14.11.2017:禁用防火墙,并能够再次发送邮件。 但是,iptables的问题仍然存在。 在SELinux中我也试过:
setsebool -P httpd_can_network_connect 1
更新13.11.2017启用防火墙并打开端口80/443,25/143后,无法在Squirrelmail上发送电子邮件。 请帮忙!
错误:消息未发送。 服务器回答:
Connection refused 111 Can't open SMTP stream.
这个问题来自以下线程。 Postfix,dovecot,squirrelmail服务器能够发送但不能接收电子邮件
我能够通过编辑Squirrelamilconfiguration文件最终发送电子邮件。 基本上我从SMTP切换到Sendmail。 在/etc/squirrelmail/config.php中更改
$useSendmail = true;
然后重新启动Apache
systemctl restart httpd
然后让Selinux使用sendmail
setsebool -P httpd_can_sendmail=1
我怀疑Squirrelmail的这个configuration会持续多久。 我一定会玩它。 现在,不知道为什么SMTP不起作用,但sendmail做到了。 希望通过搞清楚SELinux。 同时,任何人都有意见是否SMTP或Sendmail是最好的使用?