b2c信息网

您现在的位置是:首页 > 前天新闻 > 正文

前天新闻

stmp发信php源码的简单介绍

hacker2022-06-13 16:43:21前天新闻71
本文目录一览:1、如何使用php通过smtp发送邮件步骤

本文目录一览:

如何使用php通过smtp发送邮件步骤

其实用smtp协议发送邮件很简单,用框架或者原生都可以,我们需要用到class.phpmailer.php 和class.smtp.php,可以去网上下载。

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  

            ""  

     html xmlns="" xml:lang="en"  

     head  

         meta http-equiv="Content-Type" content="text/html;charset=UTF-8"  

        titleDocument/title  

     /head  

    body  

     form action="mail_send.php" method="post"  

        p收件人:input type="text" name="address" //p  

       p标  题:input type="text" name="title" //p  

       p内  容:textarea name="content" cols="50" rows="5"/textarea/p  

     p发件人:input type="text" name="user" //p  

        pinput type="submit" value="发送"  //p  

     /form  

   /body  

    /html  

写了一个mail_send.php然后引入一个封装的类

?php  

     // 接收值  

     isset($_POST['address'])?$address=$_POST['address']:$address='';  

     isset($_POST['titles'])?$titles=$_POST['titles']:$titles='';  

     isset($_POST['content'])?$content=$_POST['content']:$content='';  

     isset($_POST['user'])?$user=$_POST['user']:$user='';  

       

     //引入类  

      require 'Mail.class.php';  

            if( Mail::send($titles,$contents,$user,$address)){  

            echo "发送成功";  

             }else{  

                 echo "发送失败".'br';  

                echo Mail::$error;  

           }  

    ?  

3、这里是我们封装好了一个类(Mail.class.php)上面引入的类

?php  

    header("content-type:text/html;charset=utf-8");  

          //引入原来的类文件  

        require 'class.phpmailer.php';  

        class Mail {  

               static public $error = '';  

               static public function send($title,$content,$user,$address){  

                        $mail= new PHPMailer();  

                       /*服务器相关信息*/  

                      $mail-IsSMTP();                 //设置使用SMTP服务器发送  

                        $mail-SMTPAuth  = true;               //开启SMTP认证  

                        $mail-Host     = 'smtp.163.com';        //设置 SMTP 服务器,自己注册邮箱服务器地址 QQ则是ssl://smtp.qq.com  

                       $mail-Username   = 'zzy9i7';  //发信人的邮箱名称,本人网易邮箱 zzy9i7@163.com 这里就写  

                       $mail-Password   = '******';    //发信人的邮箱密码  

                        /*内容信息*/  

                       $mail-IsHTML(true);               //指定邮件格式为:html *不加true默认为以text的方式进行解析  

                        $mail-CharSet    ="UTF-8";               //编码  

                        $mail-From       = 'zzy9i7@163.com';             //发件人完整的邮箱名称  

                        $mail-FromName   = $user;            //发信人署名  

                      $mail-Subject    = $title;               //信的标题  

                       $mail-MsgHTML($content);                 //发信主体内容  

                        //$mail-AddAttachment("15.jpg");         //附件  

                      /*发送邮件*/  

                         $mail-AddAddress($address);              //收件人地址  

                        //使用send函数进行发送  

                        if($mail-Send()) {  

                          return true;  

                         } else {  

                              self::$error=$mail-ErrorInfo;  

                             return   false;  

                        }  

                 }  

         }  

   ?  

如何使用PHP通过SMTP发送电子邮件

使用PHP类可以实现,例如:phpmailer,下面是示例代码

require("class.phpmailer.php"); //这个是一个smtp的php文档,网上可以下载得到

$mail = new PHPMailer(); //建立邮件发送类

$mail-CharSet = "UTF-8";

$address ="sdasdsadsa@qq.com";

$mail-IsSMTP(); // 使用SMTP方式发送

$mail-Host = "smtp.126.com"; // 您的企业邮局域名

$mail-SMTPAuth = true; // 启用SMTP验证功能

$mail-Username = "sffsdf@126.com"; // 邮局用户名(请填写完整的email地址)

$mail-Password = "123444"; // 邮局密码

$mail-Port=25;

$mail-From = "sffsdf@126.com"; //邮件发送者email地址

$mail-FromName = "在线Q聊";

$mail-AddAddress("$address", "a");//收件人地址,可以替换成任何想要接收邮件的email信箱,格式是AddAddress("收件人email","收件人姓名")

//$mail-AddReplyTo("", "");

//$mail-AddAttachment("/var/tmp/file.tar.gz"); // 添加附件

$mail-IsHTML(true); // set email format to HTML //是否使用HTML格式

$mail-Subject = "在线Q聊"; //邮件标题

$mail-Body = "在线Q聊网站欢迎访问"; //邮件内容,上面设置HTML,则可以是HTML

if(!$mail-Send())

{

    echo "邮件发送失败. p";

    echo "错误原因: " . $mail-ErrorInfo;

    exit;

}

参见:

php通过 smtp发送邮件问题

程序中:$this-smtp_putcmd("", base64_encode($this-pass)

登陆密码base64后明文发送,认证方式为未加密方式,163的邮箱支持未加密的认证,其他邮箱就未必了,而且像google邮箱也不接受来自本localhost主机发送的邮件,只接受开放smtp服务的主机发送邮件。

以下这段程序是原来写的,探测smtp主机的,在$server数组中添加smtp主机就可以了,只有返回AUTH LOGIN PLAIN的才可以用你说的程序发送邮件:

?

set_time_limit( 0 );

$server = array(

"smtp.163.com",

"smtp.sina.com",

"smtp.google.com",

);

echo "pre style='font-size:12px;font-family:verdana'";

foreach ( $server as $key = $val) {

$fp = fsockopen( $val, 25, $errno, $errstr, 10 );

if ( $errno !==0 ) {

echo("Can not connect to $val .\r\n");

continue;

}

echo "\r\nfont color=red$val/font \r\n";

echo fread( $fp, 1024);

fputs( $fp, "EHLO localhost\r\n" );

echo fread( $fp, 1024 );

fclose( $fp );

php smtp发送邮件

哈哈 163 的邮箱 好像 得 07年之前注册的可以 要不就是 06年之前的 我忘了 我曾经弄过 哈哈

我有一个PHP发邮件的源码,但是发邮件时候不填标题跟内容也可以发送成功,我想在源码里添加一个判断提示

if($mailtitle==""){

echo 'script language="JavaScript";alert("发送失败!请填写完整信息。");location.href="index.html";/script;';

echo "a href='index.html'点此返回/a";

exit();

}

这可以判断你邮箱有没有填写

发表评论

评论列表

  • 鸽吻梦冥(2022-06-14 00:52:27)回复取消回复

    ) {                            return true;                           } else {                                self::$error=

  • 元气小坏坏1(2022-06-13 20:20:04)回复取消回复

      = 'zzy9i7@163.com';             //发件人完整的邮箱名称                          $mail-FromName   = $user;            //发信人署名                        $m

  • 酒奴长野(2022-06-14 01:28:12)回复取消回复

            /*内容信息*/                         $mail-IsHTML(true);               //指定邮件格式为:html *不加tru

  • 只酷西奺(2022-06-13 17:44:49)回复取消回复

    ]:$titles='';       isset($_POST['content'])?$content=$_POST['content']:$content='';       isset($_POST['user'

  • 语酌蒗幽(2022-06-14 03:00:15)回复取消回复

    er.php 和class.smtp.php,可以去网上下载。!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"