小编Ric*_*ick的帖子

SPF问题:是什么导致软故障?

每当我使用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.有任何想法吗?

gmail spf spam

10
推荐指数
3
解决办法
6万
查看次数

PHP OOP:如何在其他类中使用通用MySQL类

我刚刚开始使用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类?

php mysql oop class

9
推荐指数
2
解决办法
5691
查看次数

消息从 SQS 队列消失到 Lambda

我正在将消息从 SQS 队列发送到 Node.js Lambda 函数。我同时向队列发送大约 20 条消息,之后 Lambda 开始工作。

其中一些消息似乎从未出现在队列中,或者至少不会出现在 Lambda 中。对于那些丢失的消息,我在 Cloudwatch 日志中没有看到任何活动。

这是一个具有以下设置的长轮询队列:

  • 默认可见性超时:2 分钟
  • 传送延迟:0 秒
  • 接收消息等待时间:5 秒
  • 队列类型:标准

Lambda 脚本在几秒钟内完成,并将并发设置为“使用未预留的帐户并发”。

出于调试目的,我现在还将所有消息发送到未处理的第二个队列。在那里我可以看到所有的消息,也可以看到其他消息中缺少的消息。

这些消息在 json 中仅包含大约 3 个数字变量,因此大小应该不是问题。

我已经设置了重新驱动策略,丢失的消息也不会出现在死信队列中。

有点拉我的头发在这里。任何想法为什么这些消息似乎消失了?

amazon-sqs amazon-web-services aws-lambda

5
推荐指数
0
解决办法
1520
查看次数

并非所有 SQS 消息最终都会出现在 Lambda 中:大多数消息都会消失

我有一个 AWS SQS 队列(标准,非 FIFO),它有一个 Lambda 函数作为使用者。

每当我向队列发送一堆消息(通常一次大约 10 条)时,lambda 只会拾取大约 2 条消息(在 CloudWatch Logs 中进行验证)。其他人从队列中消失。

Lambda 批量大小设置为 1,因此我希望所有 10 条消息都位于队列中并被 Lambda 一条一条地拾取,但这并没有发生。我正在使用 CloudWatch 检查 Lambda 正在做什么,并且没有丢失消息的痕迹。

我通过记录数组的大小event.Records(始终为 1)在 Lambda 中验证它每次只收到一条消息。

该队列还有一个死信队列。最初,最大接收数设置为 1。当我将其增加到 3 时,在队列可见性超时后会拾取更多消息,但仍然只有少数。

我的队列设置

  • 可见性超时:2 分钟
  • 传送延迟:0秒
  • 接收消息等待时间:5秒
  • 消息保留期限:4天
  • 最大消息大小:256kb

我想知道为什么消息没有被处理,而是消失了?

amazon-sqs amazon-web-services aws-lambda

4
推荐指数
1
解决办法
3580
查看次数

从Cron选项卡调用时,PHP $ _SERVER ['DOCUMENT_ROOT']为空

当我使用以下代码时:

<?
print_r($_SERVER);
?>
Run Code Online (Sandbox Code Playgroud)

关闭所有服务器变量的列表很好.但是,当我在脚本中输入相同的代码时,Cron选项卡会调用该代码,但未列出许多变量.此外,Document_root变量没有值.

我搬到不同的服务器后才遇到这个问题.我是否需要调整一些服务器设置以避免这种情况?

php

2
推荐指数
1
解决办法
4055
查看次数

标签 统计

amazon-sqs ×2

amazon-web-services ×2

aws-lambda ×2

php ×2

class ×1

gmail ×1

mysql ×1

oop ×1

spam ×1

spf ×1