首页 > 开发 > PHP > 正文

用PHP通过SMTP发送邮件

2024-05-04 23:05:31
字体:
来源:转载
供稿:网友

  由于php没有提供现成的smtp函数,却提供了一个功能不甚灵活的mail()函数,这个函数需要服务器配置上的支持,并且不支持smtp验证,在很多场合无法正常的工作,因此不建议使用。本文的目的在于为新手指明方向,并没有涉及那些高级的内容,一来本身水平有限,二来也担心不能准确的讲述相关的概念,进而对各位造成误导,还请自行深入学习。

  “使用php发送mail”最近已经成为继“register_globals”以后本版第二个新手陷阱,今天特地写这篇文章为新手解惑,希望可以为迷茫的人指明方向。

  让我们先从以下这个例子开始说起:

  引用:

[[email protected]~/]# telnet localhost 25
trying 127.0.0.1...
connected to localhost.
escape character is '^]'.
220 server.domain.com.br esmtp postfix (2.1.0)
mail from: [email protected]
250 ok
rcpt to: [email protected]
250 ok
data
354 end data with <cr><lf>.<cr><lf>
teste
.
250 ok: queued as 7b41f4665a
quit
221 bye
connection closed by foreign host.

  注:以上来自netkiller的postfix文档,偷懒,直接用现成的。

  首先是使用telnet来连接本地的25端口,稍微熟悉点网络的人都知道smtp协议使用25端口,这也就是说,现在在连接本地的smtp服务器。

  引用:

trying 127.0.0.1...
connected to localhost.
escape character is '^]'.
220 server.domain.com.br esmtp postfix (2.1.0)

  这些东西是系统输出信息,说明已经连接上了,而且这个smtp服务器是postfix做的。

  “mail from: [email protected]”这个命令指明了发件地址是[email protected],“250 ok”说明这条命令被服务器接受并正确执行,这类似http协议的200、404、500等状态代码。接下来的“rcpt to: [email protected]”指明了收件地址是[email protected]

  引用:

data
354 end data with <cr><lf>.<cr><lf>
teste
.

  这一段是输入邮件正文,输入“data”以后系统提示使用“<回车>.<回车>”来结束输入,正文内容是“teste”。

  最后使用“quit”退出。

  注:以上来自netkiller的postfix文档,偷懒,直接用现成的。

  首先是使用telnet来连接本地的25端口,稍微熟悉点网络的人都知道smtp协议使用25端口,这也就是说,现在在连接本地的smtp服务器。

  引用:

trying 127.0.0.1...
connected to localhost.
escape character is '^]'.
220 server.domain.com.br esmtp postfix (2.1.0)

  这些东西是系统输出信息,说明已经连接上了,而且这个smtp服务器是postfix做的。

  “mail from: [email protected]”这个命令指明了发件地址是[email protected],“250 ok”说明这条命令被服务器接受并正确执行,这类似http协议的200、404、500等状态代码。接下来的“rcpt to: [email protected]”指明了收件地址是[email protected]

  引用:

data
354 end data with <cr><lf>.<cr><lf>
teste
.

  这一段是输入邮件正文,输入“data”以后系统提示使用“<回车>.<回车>”来结束输入,正文内容是“teste”。

  最后使用“quit”退出。

 

  注:以上来自netkiller的postfix文档,偷懒,直接用现成的。

  首先是使用telnet来连接本地的25端口,稍微熟悉点网络的人都知道smtp协议使用25端口,这也就是说,现在在连接本地的smtp服务器。

  引用:

trying 127.0.0.1...
connected to localhost.
escape character is '^]'.
220 server.domain.com.br esmtp postfix (2.1.0)

  这些东西是系统输出信息,说明已经连接上了,而且这个smtp服务器是postfix做的。

  “mail from: [email protected]”这个命令指明了发件地址是[email protected],“250 ok”说明这条命令被服务器接受并正确执行,这类似http协议的200、404、500等状态代码。接下来的“rcpt to: [email protected]”指明了收件地址是[email protected]

  引用:

data
354 end data with <cr><lf>.<cr><lf>
teste
.

  这一段是输入邮件正文,输入“data”以后系统提示使用“<回车>.<回车>”来结束输入,正文内容是“teste”。

  最后使用“quit”退出。

共2页: 上一页 1 [2] 下一页

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表