postfix邮箱_如何使用Postfix设置操作邮箱[第2部分]

postfix邮箱

这是使用Postfix设置操作邮箱的2系列教程的第二部分。 在这一部分中,我们将在生产服务器中配置postfix以将传入的电子邮件转发到我们的rails应用程序,以便操作邮箱可以对其进行处理。

如果您尚未阅读设置操作邮箱并在开发中进行测试的第一部分,则可以在此处阅读

你应该有

  • 在生产服务器中配置的Postfix(与Rails应用相同的服务器)
  • 使用Rails 6构建的现有应用程序
  • Ruby与rbenv设置
  • 忍耐

脚步

先登录到生产服务器,然后再登录;

第1步:创建bash脚本

/usr/local/bin/创建一个脚本,将所有传入的电子邮件转发到我们的rails应用程序

shell$  nano email_forwarder.sh

在脚本中添加以下内容

shell# !/bin/sh
export HOME=YOUR_HOME_PATH
export PATH=YOUR_PATH
export RBENV_ROOT=YOUR_RBENV_PATH

cd /path/to/your/project && bin/rails action_mailbox:ingress:postfix URL='https://truemark.com.np/rails/action_mailbox/relay/inbound_emails' INGRESS_PASSWORD='YOUR_INGRESS_PASSWORD'

替换HOMEPATHRBENV_ROOTURLINGRESS_PASSWORD ,如下所述:

  • 复制您的主目录到HOME

cd并复制从pwd命令获得的内容

shell$  cd
$  pwd
  • 复制从$PATH获得的内容, which rbenv PATHRBENV_PATH which rbenv命令
  • shell$  $PATH
    $  which rbenv
  • 复制您添加到credentialsENV的密码| INGRESS_PASSWORD application.yml文件

对于URL ,如果您的应用程序位于https://example.com ,则完整命令如下所示:

bin/rails action_mailbox:ingress:postfixURL =https://example.com/rails/action_mailbox/relay/inbound_emails INGRESS_PASSWORD =YOUR_STRONG_PASSWORD

步骤2:配置后缀以将传入的电子邮件传递到脚本

我们将按照此处描述的步骤进行操作。

创建/etc/postfix/virtual_aliases以添加一个通用别名; localuser必须是现有的本地用户:

file
# /etc/postfix/virtual_aliases
@mydomain .tld   localuser @mydomain .tld
  • 创建`/ etc / postfix / transport`添加一个传输映射。 “ forward_to_rails”可以是任何您想要的; 稍后将在`master.cf`中使用
  • file
    # /etc/postfix/transport
    mydomain.tld    forward_to_rails:
  • 接下来,需要将transport和virtual_aliases都编译为berkeley db文件:
  • shell$  sudo postmap /etc/postfix/virtual_aliases
    $  sudo postmap /etc/postfix/transport
  • 将传输添加到/etc/postfix/master.cf
  • file# /etc/postfix/master.cf
    forward_to_rails   unix  -       n       n       -       -       pipe
      flags =Xhq user =deploy:deploy argv =/usr/local/bin/email_forwarder.sh
      ${nexthop} ${user}

我们应该指定用户,以便脚本由该用户运行,而不是后缀或没有人。 user=deploy:deploy` ~ `user=user:group

  • /etc/postfix/main.cf添加以下内容
  • file# /etc/postfix/main.cf
      transport_maps = hash: /etc/postfix/transport
      virtual_ alias _maps = hash: /etc/postfix/virtual_aliases

您可以使用查看后缀日志

tail-f / var / log /mail. log

您现在必须拥有一切,才能在Rails应用程序中接收电子邮件。 与您的任何电子邮件提供商进行测试; 只需将电子邮件发送到email@your-configured-domain.com然后检查日志中是否已收到该电子邮件。 如果您有任何意见或建议,请在下面的评论中让我知道。

参考资料

先前发布在 https://thedevpost.com/blog/setup-action-mailbox-with-postfix-part-2/

翻译自: https://hackernoon.com/how-to-setup-action-mailbox-with-postfix-part-2-8xor3v99

postfix邮箱

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值