每当我使用PHP向我网站的成员发送电子邮件时,电子邮件最终都会出现在垃圾邮件文件夹中,这些邮件包适用于Gmail和Hotmail等大多数电子邮件提供商.
当我在Gmail中查看原始来源时,我会看到以下内容:
Delivered-To:mypersonalmail@gmail.com
收到:10.236.41.34,SMTP id为g22cs272510yhb;
星期三,2011年6月1日05:38:27 -0700(PDT)
收到:10.236.77.102,SMTP id为c66mr7228248yhe.303.1306931907131; 星期三,2011年6月1日05:38:27 -0700(PDT)
收到-SPF :softfail(google.com:转换域名@mywebserver.com的最佳猜测记录未指定为允许的发件人)
收到:by 10.190.5.195 POP3 id 3mf1156376yxt.72; 星期三,2011年6月1日05:38:27 -0700(PDT)X-Gmail-Fetch-Info:info@mywebserver.com 14 mail.mywebserver.com 110 info@mywebserver.com
返回路径:
信封到:info @ mywebserver.com
收到:来自mybestsh by s01.next-web.nl with local(Exim 4.69)
(envelope-from)
id 1QRkgT-0000BF-3v
for info@mywebserver.com; 2011年6月1日星期三14:38:01 +0200
To:info@mywebserver.com
主题:您的新密码
MIME-Version:1.0
来自:MyServer
回复:MyServer
X-Sender:MyServer
我已按如下方式设置了我的SPF记录:
v=spf1 a mx ip4:xxx.xxx.xx.xx-all
Run Code Online (Sandbox Code Playgroud)
我想知道是什么导致softfail.有任何想法吗?
我刚刚开始使用OOP PHP并遇到了一个问题.我已经设置了一个通用的mysql类,它允许我连接到一个数据库,并有一些函数从表中获取记录:
class mysql{
//some lines to connect, followed by:
public function get_record($sql)
{
$result = mysql_result(mysql_query($sql));
return $result;
//obiously it's a bit more advanced, but you get the picture.
}
}
Run Code Online (Sandbox Code Playgroud)
接下来,我有一个类来获取用户详细信息:
class user{
__construct($id)
{
$this->id = $id
}
public function get_username($id)
{
$username = get_record("SELECT name FROM users WHERE id = '".$this->id."'");
return $username;
}
}
Run Code Online (Sandbox Code Playgroud)
我试过这个,但得到了函数get_record未知的错误.我通过添加$ mysql = new mysql()解决了这个问题.到用户类.
但是,为每个使用我的数据库方法的类(实际上都是这些方法)实例化mysql对象感觉效率很低.
有没有办法让mysql类及其方法可供所有其他类访问,而无需在每个方法中调用mysql类?
我正在将消息从 SQS 队列发送到 Node.js Lambda 函数。我同时向队列发送大约 20 条消息,之后 Lambda 开始工作。
其中一些消息似乎从未出现在队列中,或者至少不会出现在 Lambda 中。对于那些丢失的消息,我在 Cloudwatch 日志中没有看到任何活动。
这是一个具有以下设置的长轮询队列:
Lambda 脚本在几秒钟内完成,并将并发设置为“使用未预留的帐户并发”。
出于调试目的,我现在还将所有消息发送到未处理的第二个队列。在那里我可以看到所有的消息,也可以看到其他消息中缺少的消息。
这些消息在 json 中仅包含大约 3 个数字变量,因此大小应该不是问题。
我已经设置了重新驱动策略,丢失的消息也不会出现在死信队列中。
有点拉我的头发在这里。任何想法为什么这些消息似乎消失了?
我有一个 AWS SQS 队列(标准,非 FIFO),它有一个 Lambda 函数作为使用者。
每当我向队列发送一堆消息(通常一次大约 10 条)时,lambda 只会拾取大约 2 条消息(在 CloudWatch Logs 中进行验证)。其他人从队列中消失。
Lambda 批量大小设置为 1,因此我希望所有 10 条消息都位于队列中并被 Lambda 一条一条地拾取,但这并没有发生。我正在使用 CloudWatch 检查 Lambda 正在做什么,并且没有丢失消息的痕迹。
我通过记录数组的大小event.Records(始终为 1)在 Lambda 中验证它每次只收到一条消息。
该队列还有一个死信队列。最初,最大接收数设置为 1。当我将其增加到 3 时,在队列可见性超时后会拾取更多消息,但仍然只有少数。
我的队列设置
我想知道为什么消息没有被处理,而是消失了?
当我使用以下代码时:
<?
print_r($_SERVER);
?>
Run Code Online (Sandbox Code Playgroud)
关闭所有服务器变量的列表很好.但是,当我在脚本中输入相同的代码时,Cron选项卡会调用该代码,但未列出许多变量.此外,Document_root变量没有值.
我搬到不同的服务器后才遇到这个问题.我是否需要调整一些服务器设置以避免这种情况?