小编Jim*_*son的帖子

为什么要有MX记录?

我之前曾问过一个关于MX记录的问题(并且感谢我从SO'ers那里得到的深思熟虑的答案).既然问题已经解决了,我想退一步问为什么首先有MX记录.

具体来说:为什么SMTP通过DNS获得特殊待遇?

我们没有FTP的HTTP或FX记录的HX记录.似乎所有其他互联网协议与DNS的A记录相得益彰.实际上,关于MX记录维基百科文章指出,当前的SMTP规范说如果接收者不存在MX记录,服务器应该回到A记录上.它还提到了一些在DNS前世界中制作的SMTP,但那是在25年前.我们真的需要MX记录吗?

dns smtp mx-record

17
推荐指数
2
解决办法
2万
查看次数

QML:如何将模型属性传递给在GridView(或ListView)委托中加载的委托?

我正在尝试构建一个内部托管GridView的可重用QML组件.GridView中的每个元素都有一组在整个应用程序中很常见的行为(主要是显示和基于鼠标的东西).但是,GridView元素内显示的内容会根据用例而改变.(也就是说,一个GridView使用相同的封装组件,但在应用程序的其他地方,它可能使用不同的Component.)

所以,我想要做的是让每个调用提供一个委托,该委托被添加到GridView中的每个元素,该元素已经是委托.换句话说,这样的事情:

MyGrid.qml

import QtQuick 1.1

Rectangle {
  id: myGrid
  objectName: "myGrid"

  property Component internalDelegate
  property variant internalModel

  GridView {
    anchors.fill: parent

    delegate: Row {
      Loader {
        sourceComponent: myGrid.internalDelegate
      }
    }

    model: parent.internalModel
  }
}
Run Code Online (Sandbox Code Playgroud)

我们的想法是GridView委托中的Loader加载用户提供的委托,它看起来像这样:

Main.qml

import QtQuick 1.1

Rectangle {
  anchors.fill: parent

  width: 300
  height: 200

  MyGrid {
    anchors.fill: parent

    internalDelegate: Text {
      text: name
    }

    internalModel: ListModel {
      ListElement {
        name: "a"
      }

      ListElement {
        name: "b"
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用.QML报告"name"是Text元素中的未知变量.如果我用字符串替换name变量(即"hello"),它会按预期工作.

我的问题是,如何将"name"变量传递给internalDelegate,或者更好的是,使整个模型可用,以便internalDelegate可以访问所有这些变量(因为调用者也在定义模型).

一个侧面问题是:有更好的方法吗?

qt listview gridview model qml

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

邮件服务器不在Web主机上时的sendmail和MX记录

这是一个我确定很容易解决的问题,但我一整天都在喋喋不休.

我正在为客户开发一个新的网站.该网站位于(这是一个例子)website.com.我有一个PHP表单脚本,通过电子邮件将访问者的请求发送到requests@website.com.

当我在不同域上的登台服务器上编码时,一切正常.当我将它移动到website.com时,邮件消息从未到达.Web服务器位于具有主要ISP的虚拟主机上.

以下是我从那时起学到的东西:我的客户端的邮件服务器是Microsoft Exchange,位于办公室的物理盒子上.每当外界人士通过电子邮件request@website.com时,邮件就会到达. 但是,如果Web服务器发送到相同的电子邮件地址,则每次都会失败.这不是 PHP问题.我将shell安全地保存到Web服务器,并使用sendmail和UNIX邮件应用程序对其进行了测试.我也通过从shell发送各种电子邮件帐户来测试它.我可以给自己发电子邮件,例如,在website.com域名中没有人.

简而言之,当我登录website.com时,发送邮件至requests@website.com,user@website.com,alother_user@website.com全部失败.所有其他地址工作正常.我发现这些丢弃的电子邮件被路由到网络服务器的"catchall"帐户,它们位于收件箱中.

我在website.com上做过MX查找.MX记录指向mailsec.website.com.我可以telnet到mailsec.website.com端口25并查看SMTP服务器.

在我看来,在发送邮件到requests@website.com时,website.com没有进行MX查找.我的理论是,它将域识别为本地域,看到没有"请求"用户帐户将其传递给,并将邮件丢弃到catchall帐户.我想要的是强制sendmail进行MX查找并将消息发送到Exchange服务器.我在这里结束了.我无法弄清楚如何做到这一点.

就此而言,我可能会离开这里,完全误解了这一点.互联网邮件和MX对我来说似乎总是一种黑色艺术,我的无知肯定在这个问题上显示出来.

email smtp sendmail mx-record

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

标签 统计

mx-record ×2

smtp ×2

dns ×1

email ×1

gridview ×1

listview ×1

model ×1

qml ×1

qt ×1

sendmail ×1