我目前正在测试和设置电子邮件服务系统。
我只需要能够接收电子邮件,但不需要发送电子邮件。
我的 dns mail.xxx.com
ping 成功,它可以从 IP 地址获取字节。
我的在线服务器打开了端口: 443,25, 587
我使用 docker 来部署我的 Rails 服务器。
Dockers 代理端口为:443,25、587,rails 服务器端口为 3005
我的ApplicationMailbox
和comments_mailbox
是这样的:
class ApplicationMailbox < ActionMailbox::Base
#routing /@xxx.com/i => :comments
routing :all => :comments
end
class CommentsMailbox < ApplicationMailbox
def process
p mail.decoded
rescue => e
p e
end
end
user xxx;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 1024;
}
http {
...
location ~ /(api|rails)/ {
proxy_pass http://127.0.0.1:3005;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for;
proxy_set_header HTTP_X_FORWARDED_FOR $remote_addr;
proxy_set_header NginX-Proxy true;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_redirect off;
autoindex_exact_size on;
autoindex_localtime on;
proxy_read_timeout 240s;
}
...
}
当我从 gmail 帐户发送电子邮件到 ydddd@xxx.com(我的自定义电子邮件)时,我无法在生产中接收电子邮件。
这是怎么回事?请你帮助我好吗?非常感谢~~
补充:
我读过这个答案和文章:
https://stackoverflow.com/questions/58326314/postfix-setup-for-action-mailbox/61629911#61629911
https://thedevpost.com/blog/setup-action-mailbox-with-postfix-part-2/
太棒了。
但是很抱歉我也收不到邮件。
这是我的自定义配置:
# /usr/local/bin/email_forwarder.sh
#!/bin/sh
export HOME=/home/airdrop
export PATH=/home/airdrop/.rvm/bin
export RVM_ROOT=/home/airdrop/.rvm/bin/rvm
cd /home/airdrop && bin/rails action_mailbox:ingress:postfix URL='http://localhost:3005/rails/action_mailbox/relay/inbound_emails' INGRESS_PASSWORD='xxxxxxx'
# /etc/postfix/virtual_aliases
@xxx.com airdrop@xxx.com
# /etc/postfix/transport
xxx.com forward_to_rails:
# /etc/postfix/master.cf
...
forward_to_rails unix - n n - - pipe
flags=Xhq user=airdrop:airdrop argv=/usr/local/bin/email_forwarder.sh
${nexthop} ${user}
然后我重新启动 postfix sudo service postfix restart
,它运行正常。
当我从 gmail 发送电子邮件到 ydddd@xxx.com(我的自定义电子邮件)时,我无法收到任何 mail.log,也无法到达我的 rails action 邮件程序。
这是怎么回事?请你帮助我好吗?非常感谢~~