传输,接收。
简单邮件传输协议(SMTP) 是在Internet传输email的事实标准。在其之上指定了一条消息的一个或多个接收者(在大多数情况下被确认是存在的),然后消息文本会被传输。可以很简单地通过telnet程序来测试一个SMTP服务器。SMTP使用TCP端口25。要为一个给定的域名决定一个SMTP服务器,需要使用MX(MaileXchange) DNS。
POP3(Post Office Protocol 3)即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。
扩展资料:
POP3客户端通常采用“off-line”离线方式访问邮件服务器,会定时的访问邮件服务器,下载邮件到客户的电脑上,然后和服务器断开。一般的,邮件被临时的存储在服务器上,当客户端下载这些邮件后,它们将被服务器删除,不再保留。
对于那些总是在同一台电脑上阅读邮件的用户来说,这种方式是十分适合得。另外一种方式,称为“online”在线方式,即邮件客户端总是和服务器保持连接。邮件被保持在服务器上,客户端不下载邮件到客户机上,用户可以在线的阅读保留在服务器上的邮件。那些经常使用不同电脑的用户适合于这种方式。
参考资料来源:百度百科-pop3
参考资料来源:百度百科-smtp
你没有SMTP是SIMPLE MAIL TRANSFER PROTOCOL的缩写,一般的发信软件,如Outlook Express、FoxMail、Eudora都是使用这个协议进行发信的。如果你的ISP没有提供SMTP服务器,那你就无法使用该协议发送信件。无法从一个邮箱的域名知道它是否提供SMTP服务或者SMTP服务器是什么。如果不知道自己信箱的SMTP服务器,可以向提供信箱的ISP询问。现在为了避免滥发垃圾邮件,许多免费邮件的提供商都不提供SMTP服务器,<?php/** 需要 扩展模块 extension=php_sockets.dll
* File name server.php
* 服务器端代码
*
* @author guisu.huang
* @since 2012-04-11
*
*/
//确保在连接客户端时不会超时
set_time_limit(0)
//设置IP和端口号
$address = "127.0.0.1"
$port = 2046 //调试的时候,可以多换端口来测试程序!
/**
* 创建一个SOCKET
* AF_INET=是ipv4 如果用ipv6,则参数为 AF_INET6
* SOCK_STREAM为socket的tcp类型,如果是UDP则使用SOCK_DGRAM
*/
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP) or die("socket_create() 失败的原因是:" . socket_strerror(socket_last_error()) . "/n")
//阻塞模式
socket_set_block($sock) or die("socket_set_block() 失败的原因是:" . socket_strerror(socket_last_error()) . "/n")
//绑定到socket端口
$result = socket_bind($sock, $address, $port) or die("socket_bind() 失败的原因是:" . socket_strerror(socket_last_error()) . "/n")
//开始监听
$result = socket_listen($sock, 4) or die("socket_listen() 失败的原因是:" . socket_strerror(socket_last_error()) . "/n")
echo "OK\nBinding the socket on $address:$port ... "
echo "OK\nNow ready to accept connections.\nListening on the socket ... \n"
do { // never stop the daemon
//它接收连接请求并调用一个子连接Socket来处理客户端和服务器间的信息
$msgsock = socket_accept($sock) or die("socket_accept() failed: reason: " . socket_strerror(socket_last_error()) . "/n")
//读取客户端数据
echo "Read client data \n"
//socket_read函数会一直读取客户端数据,直到遇见\n,\t或者\0字符.PHP脚本把这写字符看做是输入的结束符.
$buf = socket_read($msgsock, 8192)
echo "Received msg: $buf \n"
//数据传送 向客户端写入返回结果
$msg = "welcome \n"
socket_write($msgsock, $msg, strlen($msg)) or die("socket_write() failed: reason: " . socket_strerror(socket_last_error()) ."/n")
//一旦输出被返回到客户端,父/子socket都应通过socket_close($msgsock)函数来终止
socket_close($msgsock)
} while (true)
socket_close($sock)
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)