邮件服务器一般我们会考虑网络上很多免费的,它们一般技术成熟,服务器稳定,而且都是免费的。您架设的,质量上不一定比它们更好。
而web邮箱管理系统,目前也有很多。对今天的用户而言,也没有太多吸引力,因为有很多的替代品。微软的outlook,国产的foxmail都有多年的历史,也很优秀。而现在移动互联网时代,手机App也很有优势。
我猜测,您是不是想让会员在站内发短信?这跟邮件是两码事。
或者,您只是想通过php系统,给会员的邮箱发邮件?这用不着您架设邮件服务器。
当然,您可能爱上了Postfix,因为偶尔得到一个别致的领带胸针,最后为它配了一整套的西装革履也有可能。
好吧,我来回答您的问题。
1、如何对Postfix收到邮件进行管理?
您需要编写基本的两个程序,收和发。收和发的代码,比比皆是,代码并不复杂。但是您要弄清楚架构。
您的邮件服务器和邮件用户代理服务器(会员系统)在同一个主机上,但您得想成是两个服务,两个系统。就是说,您收邮件时候,读取到邮件后,将数据存到会员系统的mysql上。这个邮件在这台服务器上实际上有两份了。一般服务器软件不会用到mysql,邮件以其他形式在硬盘上存储。
发邮件,您可以通过您Postfix提供的smtp服务往外发。数据您自己通过php程序保留一份,在您会员系统的mysql里。Postfix没必要保留发出去的邮件。
2.mysql在这里面的角色是不是只管理用户的帐号密码信息?
如上所述,mysql当然要保留用户的帐号密码信息。但不仅如此,要保留发件的内容,还要放收到的邮件内容。
3.对于新手来说怎样做最容易达到预期效果。
万能的百度,一切用现成的就好。
您找到了Postfix,这是邮件服务器。这个架设也不难,网上教程比比皆是。
如果只想做邮件,不想其他的,您搜一个免费的Webmail在线邮件系统就好了。英文的较多,自己做一下汉化。PostfixAdmin可以研究下,它可以和Postfix实现mysql数据共享。
中文的,extmail比较有名,它是一个套件,什么都有,包括Postfix,拿来研究下直接用,无需二次开发。
SMTP协议叫做简单邮件传输协议,它主要的作用是控制邮件的中转,最终达到目的地。邮件的发送和收取实际上是由SMTP服务器完成的。当一封邮件到达SMTP机时,它会做出接收或中转邮件的选择。POP叫邮局协议,POP3 是它的第三版。它负责将邮件从服务器接收到你的客户端。在邮件被SMTP服务器接收后,它会暂时存储在服务器上。但让用户登陆到服务器上去接收邮件,过程很繁琐且不安全。所以,你最终接收到的邮件是客户端通过POP协议访问服务器,并将邮件下载至本地。
所以,发送邮件不是PHP本身的功能,也不是ASP的功能,而是要依赖SMTP服务器。无论你用什么程序发邮件,都只是一个与服务器进行socket交互的过程。发送邮件的过程和POP协议无关。在使用邮件收发客户端的道理也是一样的。
如果想要发送邮件,就必须有一个支持SMTP的邮箱,或者一台自己架设的SMTP服务器。
首先,我不想给phpmailer这个东西做广告,但是我确实使用的这个东西,很费解。
下载一个phpmailer类,里面主要的是三个文件class.phpmailer.php\class.pop3.php\class.smtp.php
将这三个文件放到同一个文件夹.eg:papmailer
申请一个网络邮件服务器(我用的是163服务器)
编写发送邮件代码如下
/*** 发送邮件
* @param unknown_type $sendto_email 接收人Email
* @param unknown_type $subject 邮件主题
* @param unknown_type $body 邮件内容
* @param unknown_type $user_name 接受人姓名
*/
function send_email( $sendto_email, $subject, $body, $user_name){
require_once "phpmailer/class.phpmailer.php"
$mail = new PHPMailer() //创建类对象
$mail->IsSMTP()
$mail->Host = "smtp.163.com" // SMTP servers 使用163服务器,邮件smtp服务器
$mail->SMTPAuth = true // turn on SMTP authentication
$mail->Username = "你申请的163邮箱帐号" // SMTP username 注意:普通邮件认证不需要加 @域名
$mail->Password = "163邮箱密码" // SMTP password
$mail->From = "发件人邮箱,可以使用上面163邮箱" // 发件人邮箱
$mail->FromName = "发件人名称,自己随意命名" // 发件人
$mail->CharSet = "utf8" // 这里指定字符集!
$mail->Encoding = "base64"
$mail->AddAddress($sendto_email,$user_name) // 收件人邮箱和姓名
$mail->IsHTML(true) // send as HTML
// 邮件主题
$mail->Subject = $subject
// 邮件内容
$mail->Body = $body
$mail->AltBody ="text/html"
if(!$mail->Send()){
return $mail->ErrorInfo
}else {
return true
}
}
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)