我有一个 VPS,我在其中安装了站点文件,包括在以下目录中使用 php mail() 函数的 PHP 电子邮件脚本(我的站点目录/路径是如何设置的):
\n\n/var/www/mywebsite.com/html/
\n\n*目录/路径结构如下图所示:\n https://ibb.co/2SDjb8z
\n\n当我安装 Postfix 时,我已将其配置为通过 Amazon SES 发送电子邮件。Postfix 已安装在以下目录中:
\n\n/etc/后缀/
\n\n*目录/路径结构如下图所示:\n https://ibb.co/XF1JFvv
\n\n我遇到的问题是,在测试 Postfix 是否已正确安装以及使用 Amazon SES SMTP 时,它将从命令行发送电子邮件,但我的 php 电子邮件脚本无法从我的网站文件夹目录连接到后缀。
\n\n如何将我的 php 电子邮件脚本连接到 Postfix?我需要更改目录吗?
\n\n这是我正在使用的 php mail() 函数脚本:
\n\n<?php\n$to = "MyTestEmailAddress@gmail.com";\n$subject = "Another Test!";\n$txt = "Hello world!";\n$headers = "From: MyEmailAddress@gmail.com" . "\\r\\n" .\n"CC: AnotherTestEmailAddress.com";\n\nmail($to,$subject,$txt,$headers);\n?>\nRun Code Online (Sandbox Code Playgroud)\n\n请注意,上面的 php 脚本位于我的网站文件夹内名为 \xe2\x80\x9cemail1.php\xe2\x80\x9d 的文件中。I\xe2\x80\x99m 只是尝试将其连接到位于 \xe2\x80\x9c/etc/postfix\xe2\x80\x9d 目录中的 Postfix。
\n我正在服务器 ubuntu 18.04 上的 amazon aws ec2 上工作...我正在尝试使用 phpmailer 发送邮件..当我单击发送邮件时,它会显示邮件已发送消息...但我没有收到任何邮件。当我转到 mail.log 文件检查它显示的错误时..它显示以下错误
postfix/smtp[32208]: warning: database /etc/postfix/sasl_passwd.db is older than source file /etc/postfix/sasl_passwd
Nov 6 05:33:52 ip-172-31-16-223 postfix/smtp[32208]: ECD64BE5CC: to=<archipatel20@gmail.com>, relay=mail.uway.in[166.62.28.116]:587, delay=1.9, delays=0.01/0.02/1.6/0.23, dsn=5.0.0, status=bounced (host mail.uway.in[166.62.28.116] said: 550 SMTP AUTH is required for message submission on port 587 (in reply to RCPT TO command))
Nov 6 05:33:52 ip-172-31-16-223 postfix/cleanup[32206]: C81D4BE60F: message-id=<20201106053352.C81D4BE60F@ip-172-31-16-223.us-east-2.compute.internal>
Nov 6 05:33:52 ip-172-31-16-223 postfix/qmgr[32200]: C81D4BE60F: from=<>, size=2669, nrcpt=1 (queue active)
Nov 6 05:33:52 ip-172-31-16-223 postfix/bounce[32210]: ECD64BE5CC: sender non-delivery …Run Code Online (Sandbox Code Playgroud) #include<stdio.h>
int main()
{
int a=0, b=1, c=3;
*((a) ?&b :&a) = a ? b : c;
printf("%d %d %d\n", a, b, c);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出:3 1 3
赋值运算符的结合性是从右到左。所以这里我们得到了 3 1 3 但是......
#include<stdio.h>
int main()
{
int a=0, b=1, c=3;
*((a++) ?&b :&a) = a ? b : c;
printf("%d %d %d\n", a, b, c);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出:1 1 3
My doubt is why 1 1 3 is returned instead of 1 3 3 ?
Run Code Online (Sandbox Code Playgroud) c postfix-mta variable-assignment conditional-operator postfix-operator
我需要能够根据收件人的人口统计信息在通过服务器(最好是后缀)转发的电子邮件上显示广告.基本上,一条消息将发送到someuser@fakedomain.com并转发到realuser@theirdomain.com,底部有一个小广告.
我想使用postfix,因为它似乎能够将mysql数据用于各种任务,这将是有益的,因此系统可以由提供数据库的Web应用程序控制.
由于定位渠道(用于根据人口统计信息选择广告),执行文字广告和电子邮件区域的功能以及在本地运行广告服务器的功能,我更倾向于将OpenX用于广告服务器.当然,其他更适合此问题的广告服务器也是可以接受的.
正如我所看到的,问题的核心是能够在任何给定的电子邮件消息的底部写一些东西.当然,HTML消息使这更加棘手,但我决定使用一个适用于纯文本的解决方案并从那里开始工作.
商业软件也是一种选择,但是几天的间歇搜索并没有改变.
如何编写Bash脚本来安装和配置Postfix(适用于Debian或Ubuntu).
这是我安装Postfix的方法:
sudo apt-get install postfix
Run Code Online (Sandbox Code Playgroud)
然后我重新配置它:
sudo dpkg-reconfigure postfix
Run Code Online (Sandbox Code Playgroud)
如何使用预定义的答案集创建一个自动回答重新配置问题的脚本?或者还有其他方法吗?
根据此文档,没有说明分隔符可以是多个字符还是字符串。有人可以确认是否可以使用字符串作为分隔符吗?也许像“-----”这样的东西?
我刚刚更新了我的/etc/aliases文件:
postmaster: root
mailer-daemon: postmaster
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
root: myusername
Run Code Online (Sandbox Code Playgroud)
但是现在我在运行newaliases时遇到错误:
newaliases: fatal: /etc/: file has 85 hard links
Run Code Online (Sandbox Code Playgroud)
现在postfix将无法启动:
# postfix start
postfix: fatal: /etc/: file has 85 hard links
Run Code Online (Sandbox Code Playgroud) 我似乎无法让Mamp Pro中的智能主机与OSX Yosemite一起使用(预装了Postfix 2.1).使用我的邮件服务器详细信息配置MAMP后看起来像Mamp在Postfix中使用旧的或不支持的设置.
如果我恢复原始配置并停止MAMP,从终端手动运行Postfix会导致Postfix启动没有任何问题.如果我启动MAMP并配置我的邮件服务器设置并应用它们,如果我停止Mamp然后尝试从终端启动postfix它无法启动并报告 未使用的参数:mydomain_fallback = localhost,并且无法启动.
如果我编辑main.cf文件for postfix并将其删除,请保存main.cf并尝试启动postfix,它会尝试启动并再次失败.
有谁知道如何解决这一问题?
我目前正在尝试在 RHEL 上设置 postfix 作为我们内部票务系统的 SMTP 中继。
基本配置运行正常;邮件被发送和接收。我们确实更改了一些标头以保护我们的内部网络,但仅此而已。
Trying 10.71.17.107...
Connected to mail-gw.doma.in.
Escape character is '?'.
220 mail-gw.doma.in ESMTP Postfix
STARTTLS
220 2.0.0 Ready to start TLS
Run Code Online (Sandbox Code Playgroud)
类似地,我可以向 GMail 服务器请求 STARTTLS,所以我认为防火墙不是问题:
Trying 108.177.15.26...
Connected to gmail-smtp-in.l.google.com.
Escape character is '?'.
220 **************************************************
EHLO mail-gw.doma.in
250-mx.google.com at your service, [91.198.93.107]
250-STARTTLS
STARTTLS
220 2.0.0 Ready to start TLS
Run Code Online (Sandbox Code Playgroud)
我已经为这个 mail-gw 获得了一个免费的 SSL 证书,它似乎是有效的。但是,每当我将消息转发到 GMail 时,它都会显示该消息尚未加密。
这是我的master.cf
smtp inet n - n - - smtpd -v
submission inet n - …Run Code Online (Sandbox Code Playgroud) 我试图在我的亚马逊 ec2 实例上设置一个 postfix SMTP 邮件服务器。我按照本指南http://cybart.com/how-to-install-and-configure-postfix-on-amazon-ec2/和许多其他关于配置 main.cf 的指南
每次我尝试 telnet 我的邮件服务器 mail.domain.com smtp 时,它都会尝试连接到地址 XXX.XXX.XXX.XX 但随后操作超时,我无法连接到远程主机。