[PHP]发送邮件方法介绍和代码示例

有很多朋友都遇到发送邮件的需求,他们先从网上下载一段代码,然后填好主题和内容,却发现怎么也发送失败,这里首先要弄清楚一点,发送邮件必须有邮 件服务器完成,比如SMTP,POP3等邮件服务器,只运行代码就想发送邮件,相当于空中楼阁,无米之炊。对一个企业、个人来说,想要自己写代码发送邮 件,必须先有自己的邮局账户,这样我们就能得到这些信息:

1、邮局服务器的IP;

2、邮局账户用户名;

3、对应2的账户密码。

有了这三项,在代码里设定之后,代码才能连接目标服务器,然后用此服务器来进行邮件的发送。

其中加色部分最终是由PHP服务器(比如Apache)和邮局服务器(比如SMPT)共同完成的。

以下提供一个代码,实现了邮件发送,注意send.php里面发送服务器、用户名和密码的配置:

form.php//是一个表单,用于提交要发送的目的邮箱地址:

 

<html>
<body>
<h3>phpmailer Unit Test</h3>
请你输入<font color="#FF6666">收信</font>的邮箱地址:
<form name="phpmailer" action="send.php" method="post">
  <input type="hidden" name="submitted" value="1"/>
  邮箱地址:
  <input type="text" size="50" name="address" />
  <br/>
  <input type="submit" value="发送"/>
</form>
</body>
</html>

 

send.php//接收参数,发送邮件,特别注意颜色部分的配置

<?php
require("class.phpmailer.php"); //下载的文件必须放在该文件所在目录
$mail = new PHPMailer(); //建立邮件发送类
$address = $_POST['address'];
$mail->IsSMTP(); // 使用SMTP方式发送
$mail->Host = "11.11.11.11"; // 企业邮局的IP地址或者域名
$mail->SMTPAuth = true; // 启用SMTP验证功能 $mail->Username = "xx@crazyant.net"; // 邮局用户名(请填写完整的email地址) $mail->Password = "88558855"; // 邮局密码

$mail->From = "xx@crazyant.net"; //邮件发送者email地址
$mail->FromName = "crazyant";
$mail->AddAddress("$address", "");//收件人地址,可以替换成任何想要接收邮件的email信箱,格式是AddAddress("收件人email","收件人姓名")
//$mail->AddReplyTo("", "");

//$mail->AddAttachment("/var/tmp/file.tar.gz"); // 添加附件
$mail->IsHTML(true); // set email format to HTML //是否使用HTML格式

$mail->Subject = "PHPMailer测试邮件"; //邮件标题
$mail->Body = "<table border='1'><tr><td>用户名</td><td>密码</td></tr><td>1122121</td><td>3322323</td></tr></table>"; //邮件内容
$mail->AltBody = "A=B<h1>C=D</h1>"; //附加信息,可以省略

if(!$mail->Send()){
 echo "邮件发送失败. <p>";
 echo "错误原因: " . $mail->ErrorInfo;
 exit;
}

echo "邮件发送成功";
?>

 

send.php用到了一个PHPmail类,请到http://code.google.com/a/apache-extras.org/p/phpmailer/downloads/list进行下载

本教程PDF说明以及代码示例放在:http://www.kuaipan.cn/index.php?ac=file&oid=20099656671300541
下载密码: 2D6quK

来自:http://www.crazyant.net/454.html

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *