php一個發送郵件的類,php發郵件源碼

本文目錄一覽:

php 發送郵件類

伺服器的 MTA (Mail Transfer Agent,也就是郵件伺服器)設置不允許發你的郵件。

如果有許可權,那就改 MTA (sendmail,postfix, qmail 等)的設置。

沒有許可權修改伺服器的設置,可以嘗試通過 SMTP 發郵件。php發郵件的類基本都會提供設置SMTP的函數。

如何通過一個php程序給不同的郵箱發送不同的郵件

1.需要一個用來發送電子郵件的文件的程序,也就是一個php文件,流行的phpmail有很多,今天以smtp.php為例演示。

2.將其複製到你的項目文件內,具體路徑根據自己的實際情況,這裡建了一個test文件,用來設置郵件參數,大家也可以自定義郵件參數文件。(PS:一般都是通過表單接受的)

3.smtp.php文件引入。

4.設置郵件參數,具體代碼如下:

//引入發送郵件類

require(“smtp.php”);

$smtpserver = “smtp.163.com”;

$smtpserverport = 25;

//你的163伺服器郵箱賬號

$smtpusermail = “@163.com”;

//收件人郵箱

$smtpemailto = “@qq.com”;

//你的郵箱賬號(去掉@163.com)

$smtpuser = “”;//SMTP伺服器的用戶帳號

//你的郵箱密碼

$smtppass = “”; //SMTP伺服器的用戶密碼

5.設置郵件內容,代碼如下:

//郵件主題

$mailsubject = “測試郵件發送”;

//郵件內容

$mailbody = “PHP+MySQL”;

//郵件格式(HTML/TXT),TXT為文本郵件

$mailtype = “TXT”;

//這裡面的一個true是表示使用身份驗證,否則不使用身份驗證.

$smtp = new smtp($smtpserver,$smtpserverport,true,$smtpuser,$smtppass);

//是否顯示發送的調試信息

$smtp-debug = TRUE;

//發送郵件

$smtp-sendmail($smtpemailto, $smtpusermail, $mailsubject, $mailbody, $mailtype);

刷新頁面後郵件發送,參數不出錯的話1分鐘左右即可發送成功。

至於發幾個人,如何發自己定義下就行

php如何發送郵件

你好,用這個郵件類,需要在調用時,填寫一個smtp伺服器和你的用戶名密碼。

?php

set_time_limit(600);

/*

* 郵件發送類

*/

class smail {

//您的SMTP 伺服器供應商,可以是域名或IP地址

var $smtp = “”;

//SMTP需要要身份驗證設值為 1 不需要身份驗證值為 0,現在大多數的SMTP服務商都要驗證,如不清楚請與你的smtp 服務商聯繫。

var $check = 1;

//您的email帳號名稱

var $username = “”;

//您的email密碼

var $password = “”;

//此email 必需是發信伺服器上的email

var $s_from = “”;

/*

* 功能:發信初始化設置

* $from 你的發信伺服器上的郵箱

* $password 你的郵箱密碼

* $smtp 您的SMTP 伺服器供應商,可以是域名或IP地址

* $check SMTP需要要身份驗證設值為 1 不需要身份驗證值為 0,現在大多數的SMTP服務商都要驗證

*/

function smail ( $from, $password, $smtp, $check = 1 ) {

if( preg_match(“/^[^\d\-_][\w\-]*[^\-_]@[^\-][a-zA-Z\d\-]+[^\-](\.[^\-][a-zA-Z\d\-]*[^\-])*\.[a-zA-Z]{2,3}/”, $from ) ) {

$this-username = substr( $from, 0, strpos( $from , “@” ) );

$this-password = $password;

$this-smtp = $smtp ? $smtp : $this-smtp;

$this-check = $check;

$this-s_from = $from;

}

}

/*

* 功能:發送郵件

* $to 目標郵箱

* $from 來源郵箱

* $subject 郵件標題

* $message 郵件內容

*/

function send ( $to, $from, $subject, $message ) {

//連接伺服器

$fp = fsockopen ( $this-smtp, 25, $errno, $errstr, 60);

if (!$fp ) return “聯接伺服器失敗”.__LINE__;

set_socket_blocking($fp, true );

$lastmessage=fgets($fp,512);

if ( substr($lastmessage,0,3) != 220 ) return “錯誤信息1:$lastmessage”.__LINE__;

//HELO

$yourname = “YOURNAME”;

if($this-check == “1”) $lastact=”EHLO “.$yourname.”\r\n”;

else $lastact=”HELO “.$yourname.”\r\n”;

fputs($fp, $lastact);

$lastmessage == fgets($fp,512);

if (substr($lastmessage,0,3) != 220 ) return “錯誤信息2:$lastmessage”.__LINE__;

while (true) {

$lastmessage = fgets($fp,512);

if ( (substr($lastmessage,3,1) != “-“) or (empty($lastmessage)) )

break;

}

//身份驗證

if ($this-check==”1″) {

//驗證開始

$lastact=”AUTH LOGIN”.”\r\n”;

fputs( $fp, $lastact);

$lastmessage = fgets ($fp,512);

if (substr($lastmessage,0,3) != 334) return “錯誤信息3:$lastmessage”.__LINE__;

//用戶姓名

$lastact=base64_encode($this-username).”\r\n”;

fputs( $fp, $lastact);

$lastmessage = fgets ($fp,512);

if (substr($lastmessage,0,3) != 334) return “錯誤信息4:$lastmessage”.__LINE__;

//用戶密碼

$lastact=base64_encode($this-password).”\r\n”;

fputs( $fp, $lastact);

$lastmessage = fgets ($fp,512);

if (substr($lastmessage,0,3) != “235”) return “錯誤信息5:$lastmessage”.__LINE__;

}

//FROM:

$lastact=”MAIL FROM: “. $this-s_from . “\r\n”;

fputs( $fp, $lastact);

$lastmessage = fgets ($fp,512);

if (substr($lastmessage,0,3) != 250) return “錯誤信息6:$lastmessage”.__LINE__;

//TO:

$lastact=”RCPT TO: “. $to .” \r\n”;

fputs( $fp, $lastact);

$lastmessage = fgets ($fp,512);

if (substr($lastmessage,0,3) != 250) return “錯誤信息7:$lastmessage”.__LINE__;

//DATA

$lastact=”DATA\r\n”;

fputs($fp, $lastact);

$lastmessage = fgets ($fp,512);

if (substr($lastmessage,0,3) != 354) return “錯誤信息8:$lastmessage”.__LINE__;

//處理Subject頭

$head=”Subject: $subject\r\n”;

$message = $head.”\r\n”.$message;

//處理From頭

$head=”From: $from\r\n”;

$message = $head.$message;

//處理To頭

$head=”To: $to\r\n”;

$message = $head.$message;

//加上結束串

$message .= “\r\n.\r\n”;

//發送信息

fputs($fp, $message);

$lastact=”QUIT\r\n”;

fputs($fp,$lastace);

fclose($fp);

return 0;

}

}

// 發送示例

// 只需要把這部分改成你的信息就行

$sm = new smail( “用戶名”, “密碼”, “發件smtp伺服器” );

$end = $sm-send( “收件人”, “發件人(可以偽造哦)”, “標題”, “內容” );

if( $end ) echo $end;

else echo “發送成功!$x”;

?

如何使用php中的mail函數發送html格式的信

採用 phpmailer類,來做郵件發送,是很多PHP程序所採用的一個類發送

require(ROOT.’/class/phpMailer.class.php’);//郵件發送類

/**

* 發送郵件

* @param string $to 接收人郵件地址

* @param string $title 郵件標題

* @param string $contents 郵件內容 支持HTML格式

* @param string $type 判斷是否要加附件

* @param string $accessory 附件的名字

* @return 成功返回true,失敗返回錯誤信息

*/

function sendEmail($to,$title,$contents,$type = ”,$accessory =”){

$mail = new PhpMailer(true);

$mail-IsSMTP();

$mail-CharSet =”UTF-8″;//編碼

$mail-Debugoutput = ‘html’;// 支持HTML格式

$mail-Host = T_SMTP_SERVER;//HOST 地址

$mail-Port = 25;//埠

$mail-SMTPAuth = true;

$mail-Username = T_SMTP_LOGIN;//用戶名

$mail-Password = T_SMTP_PASSWORD;//密碼

$mail-SetFrom(T_SMTP_FROM,T_SMTP_FROM_NAME);//發件人地址, 發件人名稱

$mail-AddAddress($to);//收信人地址

//$mail-Subject = “=?utf-8?B?” . base64_encode() . “?=”;

if (!empty($type)) {

$mail-AddAttachment($type,$accessory); // 添加附件,並指定名稱

}

$mail-Subject = $title;//郵件標題

$mail-MsgHTML($contents);

if ($mail-Send()){

return true;

}else{

return $mail-errorMessage();

}

}

PHP郵件發送類怎麼弄,我的出錯了,幫我看下

if(mysql_insert_id()){//寫入成功,發郵件

跟這個語句對於的大括弧呢??

你這個錯誤很明顯,告訴你是缺少閉合結束符,一般就是指大括弧

求一個能用的php發送郵件類,最好是個小例子

?php

require(‘PHPMailer/class.smtp.php’);

$mail = new PHPMailer(true);

$mail-IsSMTP();

$mail-CharSet=’UTF-8′;

$mail-SMTPAuth = true;

$mail-Port = 25;

$mail-Host = “smtp.163.com”;//郵箱smtp地址,此處以163為例

$mail-Username = “你的郵箱賬號”;//你的郵箱賬號

$mail-Password = “你的郵箱密碼”;//你的郵箱密碼

$mail-From = “你的郵箱賬號”;//你的郵箱賬號

$mail-FromName = get_option(‘blogname’);

$to = $to;//收件人

$mail-AddAddress($to);

$mail-Subject = $subject;//主題

$mail-Body = $message;//正文

$mail-WordWrap = 80;

//$mail-AddAttachment(“f:/test.png”); //可以添加附件

$mail-IsHTML(true);

$mail-Send();

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/241927.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 12:44
下一篇 2024-12-12 12:45

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • 雲智直聘 源碼分析

    本文將會對雲智直聘的源碼進行分析,包括前端頁面和後端代碼,幫助讀者了解其架構、技術實現以及對一些常見的問題進行解決。通過本文的閱讀,讀者將會了解到雲智直聘的特點、優勢以及不足之處,…

    編程 2025-04-29
  • IDEA Java發送郵件出現錯誤解決方案

    IDEA Java是一款常用的Java開發工具,很多開發者都使用它來開發Java應用程序。然而,在使用IDEA Java發送郵件時,有可能會出現一些錯誤。本文將從多個方面對該錯誤進…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • Python網站源碼解析

    本文將從多個方面對Python網站源碼進行詳細解析,包括搭建網站、數據處理、安全性等內容。 一、搭建網站 Python是一種高級編程語言,適用於多種領域。它也可以用於搭建網站。最常…

    編程 2025-04-28
  • 源碼是什麼

    源碼是一段計算機程序的原始代碼,它是程序員所編寫的可讀性高、理解性強的文本。在計算機中,源碼是指編寫的程序代碼,這些代碼按照一定規則排列,被計算機識別並執行。 一、源碼的組成 源碼…

    編程 2025-04-27
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若伺服器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • Go源碼閱讀

    Go語言是Google推出的一門靜態類型、編譯型、並髮型、語法簡單的編程語言。它因具有簡潔高效,內置GC等優秀特性,被越來越多的開發者所鍾愛。在這篇文章中,我們將介紹如何從多個方面…

    編程 2025-04-27
  • PHP登錄頁面代碼實現

    本文將從多個方面詳細闡述如何使用PHP編寫一個簡單的登錄頁面。 1. PHP登錄頁面基本架構 在PHP登錄頁面中,需要包含HTML表單,用戶在表單中輸入賬號密碼等信息,提交表單後服…

    編程 2025-04-27

發表回復

登錄後才能評論