Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php smtp服务器如何发送邮件_Php_Email_Smtp_Server Side - Fatal编程技术网

Php smtp服务器如何发送邮件

Php smtp服务器如何发送邮件,php,email,smtp,server-side,Php,Email,Smtp,Server Side,我可以通过某个smtp服务器将邮件发送到另一个邮箱。但我想知道是否有可能避免连接到SMTP服务器,并与收件人邮箱所在的服务器进行通信。 例如:我想把信息从雅虎邮箱发送到谷歌邮箱。我正在连接雅虎smtp服务器。现在,一些smtp服务器命令如下所示: EHLO myname auth login mail from: test@yahoo.com rcpt to: test@google.com data This is a test message . 在这之后,雅虎smtp服务器神奇地将我的信

我可以通过某个smtp服务器将邮件发送到另一个邮箱。但我想知道是否有可能避免连接到SMTP服务器,并与收件人邮箱所在的服务器进行通信。 例如:我想把信息从雅虎邮箱发送到谷歌邮箱。我正在连接雅虎smtp服务器。现在,一些smtp服务器命令如下所示:

EHLO myname
auth login
mail from: test@yahoo.com
rcpt to: test@google.com
data
This is a test message
.

在这之后,雅虎smtp服务器神奇地将我的信息发送到谷歌邮箱。但我想知道smtp服务器如何发送这些邮件?如何使用php实现一个小型smtp服务器?

负责域的邮件服务器将通过DNS查询域的MX记录:

$ dig mx google.com
...
google.com.             19      IN      MX      10 aspmx.l.google.com.
google.com.             19      IN      MX      20 alt1.aspmx.l.google.com.
google.com.             19      IN      MX      30 alt2.aspmx.l.google.com.
google.com.             19      IN      MX      40 alt3.aspmx.l.google.com.
google.com.             19      IN      MX      50 alt4.aspmx.l.google.com.
...
因此,您可以尝试执行这样的MX查找,然后直接与服务器对话

但是,由于如今存在大量垃圾邮件,大多数大型提供商都不接受任何人的邮件,例如,如果您想向somebody@google.com从…起yourself@google.com您可能需要授权自己,如果您从yourself@google.com到somebody@yahoo.com雅虎的邮件服务器可能会查找google.com的SPF记录,并检查您是否在允许的发件人IP列表中


总之:最简单、最可靠的方法是使用您的邮件提供商提供给您的邮件服务器,让他们处理所有细节。

没有什么神奇的;雅虎的服务器与谷歌的SMTP服务器执行类似的对话。如果没有太多的垃圾邮件斗争,主要是端口阻塞,你可以直接连接到谷歌的SMTP服务器自己,但这些天,你必须通过自己的ISP中继。曾几何时,直接发送到MX SMTP是常态

更神奇的是,单个SMTP服务器如何将邮件传送到本地邮件存储中。这不是标准化的,但典型的设置包括直接传递到本地mbox文件中,附加到您在Unix服务器上读取邮件的/var/spool/you,或者存储在POP或IMAP服务器的邮件存储中