问题标签 [postfix-mta]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2507 浏览

php - 如何在 CentOS 上使用 php 中的 mail() 从 Web 应用程序发送电子邮件(sendmail,postfix,...?)

我们正在构建一个网络应用程序,需要使用 php 的 mail() 函数频繁发送电子邮件。当用户注册应用程序、客户有新产品订单等时,我们使用它来发送邮件。

我们最好在我们的 CentOS 服务器上安装什么来实现这一点?我已经阅读了很多关于 sendmail 与 postfix 与其他用作 MTA 的软件包的信息,但无法弄清楚我需要什么。

我们不会为我们的用户运行邮箱,我们只想从我们的网络应用程序发送电子邮件,不接收任何电子邮件(我们为此使用谷歌应用程序)

我们正在寻找易于设置和维护的解决方案

0 投票
1 回答
1719 浏览

jakarta-mail - 使用 Java 在 Postfix 中解析收件箱

我使用 Postfix 作为邮件服务器,并将其配置为接收到某个目的地的电子邮件。

我想制作一个 Java 代码来解析传入的电子邮件并执行一些操作。知道从哪里开始或使用什么吗?

0 投票
1 回答
367 浏览

postfix-mta - 我们可以使用带有后缀的 subethasmtp 吗?

是否可以将 postfix 与 subethasmtp 一起使用,以便 postfix 可以将电子邮件发送到 subethasmtp 并处理这些电子邮件?

0 投票
1 回答
2470 浏览

php - 在 CakePHP 和 Postfix 中处理电子邮件退回

我正在尝试处理退回的消息并将其发送给负责的系统管理员。

我使用 CakePHP 电子邮件组件来发送消息。在服务器端,我使用 postfix 来传输消息。

正如您在上面看到的,我将 $Email->return 设置为系统管理员的电子邮件,它将发送所有退回的邮件。

在后缀配置中,我尝试创建一个bounce.cf 模板并设置bounce_template_file。http://www.howtoforge.com/configure-custom-postfix-bounce-messages

如何获取退回的邮件并将其发送给系统管理员?

0 投票
2 回答
725 浏览

python - 如何使用 os.spawnv 使用 Python 发送电子邮件副本?

首先让我说,我知道使用 subprocess 模块会更好,但我正在编辑其他人的代码,并且我正在尝试进行尽可能少的更改,其中包括避免导入任何新模块。因此,如果可能的话,我想坚持使用当前导入的模块(操作系统、系统和路径)。

代码当前(在一个名为 postfix-to-mailman.py 的文件中,你们中的一些人可能熟悉):

这很好用(尽管我认为 sys.exit(0) 可能永远不会被调用,因此是不必要的)。

我相信这会通过调用 /usr/sbin/sendmail 将当前进程替换为传递参数 /usr/sbin/sendmail(对于 argv[0] 即本身)和“someaddress@someplace.com”,然后传递当前进程 - 包括 sys.stdin 中的电子邮件消息 - 到子进程。

我想做的基本上是在执行此操作之前发送另一个消息副本。我不能再次使用 execv ,因为那时执行将停止。所以我尝试了以下方法:

但是,虽然它将消息发送到 other@place.com,但它从不将其发送到 first@place.com

这让我感到惊讶,因为我认为使用 spawn 会启动一个子进程,然后在它返回时继续在当前进程中执行(或者如果使用 P_NOWAIT,则无需等待)。

顺便说一句,我先尝试了 os.P_NOWAIT,但我在 other@place.com 收到的消息是空的,所以至少当我使用 P_WAIT 时,消息是完整地通过的。但它仍然没有被发送到 first@place.com,这是一个问题。

如果可以避免,我宁愿不使用 os.system,因为如果可以避免,我宁愿不使用 shell 环境(安全问题,可能的性能?我承认我在这里很偏执,但是如果我可以避免 os.system 我仍然想)。

我唯一能想到的是对 os.spawnv 的调用以某种方式消耗/清空 sys.stdin 的内容,但这也没有任何意义。想法?

0 投票
2 回答
2324 浏览

regex - 如何使用 awk 从特定客户端提取 Postfix 日志中的所有对话?

我正在尝试根据启动它们的客户端从 Postfix 日志文件中提取对话。这是提取匹配消息 ID 的 awk 脚本:

awk '/client.host.name/ && !(/timeout/||/disconnect/) { sub(":","",$6);print $6}' maillog

这是使用标准 Postfix 邮件日志作为输入(请参阅下面的示例数据)。我我想做的是使用第一次搜索的结果对文件进行多次搜索,但我不确定这是否是正确的方法。类似于:

awk '/client.host.name/ && !(/timeout/||/disconnect/) {sub(":","",$6);msgid=$6} $0 ~ msgid {print $0}' maillog

但是,这自然不会按预期工作。我假设我需要做以下事情之一:

  1. 将第一个 awk 的输出通过管道传输到第二个 awk 或 grep(不确定如何将管道输入用作正则表达式)。
  2. 将第一个结果集分配给一个数组并将该数组用作搜索集。类似的东西:
    awk '/app02/ && !(/timeout/ || /connect/) { sub(":","",$6);msgid[$6]=$6; } END { for(x in msgid) { print x; } }' maillog
    我不确定我将如何在 for 循环中进行。awk 中有没有办法“倒带”文件,然后抓取与数组中任何元素匹配的所有行?
  3. 放弃整个交易并使用 Perl 进行尝试。

那么,对于 awk 大师......有什么方法可以使用 awk 来完成我正在寻找的东西吗?

样本数据:

0 投票
2 回答
1840 浏览

email - 如何将消息注入 Postfix 的队列?

我正在开发一个隔离和路由电子邮件的应用程序。假设在这个应用程序中,我在我选择的目录中有一封电子邮件,它已被我们的软件扫描并被认为是“干净的”。如何将此消息注入 Postfix?

0 投票
3 回答
503 浏览

java - 向 Web 应用程序添加电子邮件功能需要什么?

我有想要添加电子邮件功能的 java web 应用程序,但是,我不确定完成此操作需要什么。具体来说,我希望我的应用能够:

  1. 发送确认注册的电子邮件
  2. 允许用户使用我的应用程序的域(即 dan@my-app.com)相互发送电子邮件

根据我的研究,我似乎需要像 Postfix 这样的邮件传输代理 (MTA),可能还需要像 Courier 这样的 IMAP 服务器;但我不明白对 IMAP 服务器的需求。

谢谢。

0 投票
4 回答
7919 浏览

php - PHP 邮件格式问题 - 为什么 CRLF 标题行结尾会破坏 Outlook 中的 HTML 电子邮件?

我正在使用 PHP 本机mail()函数发送 HTML 电子邮件,并且在用户最常见的电子邮件客户端 - Outlook 2007以及其他一些电子邮件客户端)中存在格式问题 - 所有的 html 标记都被暴露,所以看起来像乱码非网络开发者。

我发送 HTML 电子邮件的方式与PHP 手册演示的方式相同。例子:

因为测试各种电子邮件客户端很困难,所以我注册了http://litmusapp.com/,所以我可以看到 47 个不同电子邮件客户端的电子邮件截图。大多数都可以(例如 gmail、thunderbird、Lotus Notes),但所有不同版本的 Outlook 都不好。

要解决格式问题,我执行了以下操作:

  1. 删除$headers = "MIME-Version: 1.0\r\n";邮件标题。
  2. \n确保我只用“ ”而不是“ ”结束我的标题\r\n

有谁知道为什么我在不符合手册的情况下使用 HTML 电子邮件会获得更好的结果?

信息:

  • 我在 RHEL 5.5 上使用postfix版本 2.3.3。
  • PHP 版本 5.3.2
0 投票
1 回答
737 浏览

email - 后缀:以编程方式添加用户

两个月前我问了这个问题,但没有得到答案。事实上,我因为提出了一个很少引起兴趣的问题而获得了风滚草徽章。

然而,这似乎是一个有明确答案的直截了当的问题,我真的需要能够做到这一点。

如果仍然没有答案,如果有人对任何其他可能帮助我的论坛有任何想法,我肯定会很感激。我试着问godaddy,但我想我没有花足够的钱和他们一起获得这种级别的支持。

谢谢,这是问题:

我正在使用一个 Godaddy 虚拟专用服务器,它附带的默认电子邮件服务器是 postfix。甚至可以通过 godaddy 控制面板添加域和用户帐户。

我试图弄清楚(1)他们通过控制面板创建新帐户的确切做法,然后(2)如何通过 Linux shell 脚本来做到这一点。

我从未使用过 postfix,并且一直在尝试浏览手册页和其他文档。似乎当用户帐户与域相关联时,用户帐户是“虚拟的”。到目前为止,我发现当我使用 godaddy 控制面板添加一个新的电子邮件帐户时,它会在 /etc/postfix/turbopanel/virtual_alias 中添加一个条目。然后,该条目似乎也被提交到同一目录中的二进制 virtual_alias.db。

我已经手动复制了将新电子邮件地址添加到 virtual_alias 文件的过程,然后运行 ​​postmap /etc/postfix/turbopanel/virtual_alias 以获取 virtual_alias.db 文件的条目。这可行,但缺少一些步骤:我无法向添加的用户发送电子邮件,并且该用户没有出现在 godaddy 控制面板中。

我认为不需要为虚拟别名创建新的 Linux 帐户。通过控制面板创建的帐户在 /etc/passwd 中没有关联条目。

任何帮助深表感谢。

杰里米