本文目錄一覽:
- 1、求php 發送郵件的代碼?
- 2、如何使用PHP發送包含附件的電子郵件
- 3、我想用php發郵件,我想發html格式的,body應該怎麼寫呢,要發的文件是D:\local\website\proj\test\123.htm
- 4、php如何發送郵件
- 5、PHP POP3如何獲取郵件附件內容
- 6、請問附件是什麼? 還有在郵件上的具體信息
求php 發送郵件的代碼?
?php
class Email {
//—設置全局變量
var $mailTo = “”; // 收件人
var $mailCC = “”; // 抄送
var $mailBCC = “”; // 秘密抄送
var $mailFrom = “”; // 發件人
var $mailSubject = “”; // 主題
var $mailText = “”; // 文本格式的信件主體
var $mailHTML = “”; // html格式的信件主體
var $mailAttachments = “”; // 附件
/* 函數setTo($inAddress) :用於處理郵件的地址 參數 $inAddress
為包涵一個或多個字串,email地址變量,使用逗號來分割多個郵件地址
默認返回值為true
**********************************************************/
function setTo($inAddress){
//–用explode()函數根據”,”對郵件地址進行分割
$addressArray = explode( “,”,$inAddress);
//–通過循環對郵件地址的合法性進行檢查
for($i=0;$icount($addressArray);$i++){ if($this-checkEmail($addressArray[$i])==false) return false; }
//–所有合法的email地址存入數組中
$this-mailTo = implode($addressArray, “,”);
return true; }
/**************************************************
函數 setCC($inAddress) 設置抄送人郵件地址
參數 $inAddress 為包涵一個或多個郵件地址的字串,email地址變量,
使用逗號來分割多個郵件地址 默認返回值為true
**************************************************************/
function setCC($inAddress){
//–用explode()函數根據”,”對郵件地址進行分割
$addressArray = explode( “,”,$inAddress);
//–通過循環對郵件地址的合法性進行檢查
for($i=0;$icount($addressArray);$i++){ if($this-checkEmail($addressArray[$i])==false) return false; }
//–所有合法的email地址存入數組中
$this-mailCC = implode($addressArray, “,”);
return true; }
/***************************************************
函數setBCC($inAddress) 設置秘密抄送地址 參數 $inAddress 為包涵一個或多
個郵件地址的字串,email地址變量,使用逗號來分割多個郵件地址 默認返回值為
true
******************************************/
function setBCC($inAddress){
//–用explode()函數根據”,”對郵件地址進行分割
$addressArray = explode( “,”,$inAddress);
//–通過循環對郵件地址的合法性進行檢查
for($i=0;$icount($addressArray);$i++)
{ if($this-checkEmail($addressArray[$i])==false)
return false;
}
//–所有合法的email地址存入數組中
$this-mailBCC = implode($addressArray, “,”);
return true;
}
/*****************************************************************
函數setFrom($inAddress):設置發件人地址 參數 $inAddress 為包涵郵件
地址的字串默認返回值為true
***************************************/
function setFrom($inAddress){
if($this-checkEmail($inAddress)){
$this-mailFrom = $inAddress;
return true;
} return false; }
/**********************
函數 setSubject($inSubject) 用於設置郵件主題參數$inSubject為字串,
默認返回的是true
*******************************************/
function setSubject($inSubject){
if(strlen(trim($inSubject)) 0){
$this-mailSubject = ereg_replace( “n”, “”,$inSubject);
return true; }
return false; }
/****************************************************
函數setText($inText) 設置文本格式的郵件主體參數 $inText 為文本內容默
認返回值為true
****************************************/
function setText($inText){
if(strlen(trim($inText)) 0){
$this-mailText = $inText;
return true; }
return false;
}
/**********************************
函數setHTML($inHTML) 設置html格式的郵件主體參數$inHTML為html格式,
默認返回值為true
************************************/
function setHTML($inHTML){
if(strlen(trim($inHTML)) 0){
$this-mailHTML = $inHTML;
return true; }
return false; }
/**********************
函數 setAttachments($inAttachments) 設置郵件的附件 參數$inAttachments
為一個包涵目錄的字串,也可以包涵多個文件用逗號進行分割 默認返回值為true
*******************************************/
function setAttachments($inAttachments){
if(strlen(trim($inAttachments)) 0){
$this-mailAttachments = $inAttachments;
return true; }
return false; }
/*********************************
函數 checkEmail($inAddress) :這個函數我們前面已經調用過了,主要就是
用於檢查email地址的合法性
*****************************************/
function checkEmail($inAddress){
return (ereg( “^[^@ ]+@([a-zA-Z0-9-]+.)+([a-zA-Z0-9-]{2}|net|com|gov|mil|org|edu|int)$”,$inAddress));
}
/*************************************************
函數loadTemplate($inFileLocation,$inHash,$inFormat) 讀取臨時文件並且
替換無用的信息參數$inFileLocation用於定位文件的目錄
$inHash 由於存儲臨時的值 $inFormat 由於放置郵件主體
***********************************************************/
function loadTemplate($inFileLocation,$inHash,$inFormat){
/* 比如郵件內有如下內容: Dear ~!UserName~,
Your address is ~!UserAddress~ */
//–其中”~!”為起始標誌”~”為結束標誌
$templateDelim = “~”;
$templateNameStart = “!”;
//–找出這些地方並把他們替換掉
$templateLineOut = “”; //–打開臨時文件
if($templateFile = fopen($inFileLocation, “r”)){
while(!feof($templateFile)){
$templateLine = fgets($templateFile,1000);
$templateLineArray = explode($templateDelim,$templateLine);
for( $i=0; $icount($templateLineArray);$i++){
//–尋找起始位置
if(strcspn($templateLineArray[$i],$templateNameStart)==0){
//–替換相應的值
$hashName = substr($templateLineArray[$i],1);
//–替換相應的值
$templateLineArray[$i] = ereg_replace($hashName,(string)$inHash[$hashName],$hashName);
}
}
//–輸出字符數組併疊加
$templateLineOut .= implode($templateLineArray, “”);
} //–關閉文件fclose($templateFile);
//–設置主體格式(文本或html)
if( strtoupper($inFormat)== “TEXT” )
return($this-setText($templateLineOut));
else if( strtoupper($inFormat)== “HTML” )
return($this-setHTML($templateLineOut));
} return false;
}
/*****************************************
函數 getRandomBoundary($offset) 返回一個隨機的邊界值
參數 $offset 為整數 – 用於多管道的調用 返回一個md5()編碼的字串
****************************************/
function getRandomBoundary($offset = 0){
//–隨機數生成
srand(time()+$offset);
//–返回 md5 編碼的32位 字符長度的字串
return ( “—-“.(md5(rand()))); }
/********************************************
函數: getContentType($inFileName)用於判斷附件的類型
**********************************************/
function getContentType($inFileName){
//–去除路徑
$inFileName = basename($inFileName);
//–去除沒有擴展名的文件
if(strrchr($inFileName, “.”) == false){
return “application/octet-stream”;
}
//–提區擴展名並進行判斷
$extension = strrchr($inFileName, “.”);
switch($extension){
case “.gif”: return “image/gif”;
case “.gz”: return “application/x-gzip”;
case “.htm”: return “text/html”;
case “.html”: return “text/html”;
case “.jpg”: return “image/jpeg”;
case “.tar”: return “application/x-tar”;
case “.txt”: return “text/plain”;
case “.zip”: return “application/zip”;
default: return “application/octet-stream”;
}
return “application/octet-stream”;
}
/**********************************************
函數formatTextHeader把文本內容加上text的文件頭
*****************************************************/
function formatTextHeader(){ $outTextHeader = “”;
$outTextHeader .= “Content-Type: text/plain;
charset=us-asciin”;
$outTextHeader .= “Content-Transfer-Encoding: 7bitnn”;
$outTextHeader .= $this-mailText. “n”;
return $outTextHeader;
} /************************************************
函數formatHTMLHeader()把郵件主體內容加上html的文件頭
******************************************/
function formatHTMLHeader(){
$outHTMLHeader = “”;
$outHTMLHeader .= “Content-Type: text/html;
charset=us-asciin”;
$outHTMLHeader .= “Content-Transfer-Encoding: 7bitnn”;
$outHTMLHeader .= $this-mailHTML. “n”;
return $outHTMLHeader;
}
/**********************************
函數 formatAttachmentHeader($inFileLocation) 把郵件中的附件標識出來
********************************/
function formatAttachmentHeader($inFileLocation){
$outAttachmentHeader = “”;
//–用上面的函數getContentType($inFileLocation)得出附件類型
$contentType = $this-getContentType($inFileLocation);
//–如果附件是文本型則用標準的7位編碼
if(ereg( “text”,$contentType)){
$outAttachmentHeader .= “Content-Type: “.$contentType. “;n”;
$outAttachmentHeader .= ‘ name=”‘.basename($inFileLocation). ‘”‘. “n”;
$outAttachmentHeader .= “Content-Transfer-Encoding: 7bitn”;
$outAttachmentHeader .= “Content-Disposition: attachment;n”;
$outAttachmentHeader .= ‘ filename=”‘.basename($inFileLocation). ‘”‘. “nn”;
$textFile = fopen($inFileLocation, “r”);
while(!feof($textFile)){
$outAttachmentHeader .= fgets($textFile,1000);
}
//–關閉文件 fclose($textFile);
$outAttachmentHeader .= “n”;
}
//–非文本格式則用64位進行編碼
else{ $outAttachmentHeader .= “Content-Type: “.$contentType. “;n”;
$outAttachmentHeader .= ‘ name=”‘.basename($inFileLocation). ‘”‘. “n”;
$outAttachmentHeader .= “Content-Transfer-Encoding: base64n”;
$outAttachmentHeader .= “Content-Disposition: attachment;n”;
$outAttachmentHeader .= ‘ filename=”‘.basename($inFileLocation). ‘”‘. “nn”;
//–調用外部命令uuencode進行編碼
exec( “uuencode -m $inFileLocation nothing_out”,$returnArray);
for ($i = 1; $i(count($returnArray)); $i++){
$outAttachmentHeader .= $returnArray[$i]. “n”;
}
} return $outAttachmentHeader;
}
/******************************
函數 send()用於發送郵件,發送成功返回值為true
************************************/
function send(){
//–設置郵件頭為空
$mailHeader = “”;
//–添加抄送人
if($this-mailCC != “”)
$mailHeader .= “CC: “.$this-mailCC. “n”;
//–添加秘密抄送人
if($this-mailBCC != “”)
$mailHeader .= “BCC: “.$this-mailBCC. “n”;
//–添加發件人
if($this-mailFrom != “”)
$mailHeader .= “FROM: “.$this-mailFrom. “n”;
//—————————郵件格式——————————
//–文本格式
if($this-mailText != “” $this-mailHTML == “” $this-mailAttachments == “”){
return mail($this-mailTo,$this-mailSubject,$this-mailText,$mailHeader);
}
//–html或text格式
else if($this-mailText != “” $this-mailHTML != “” $this-mailAttachments == “”){
$bodyBoundary = $this-getRandomBoundary();
$textHeader = $this-formatTextHeader();
$htmlHeader = $this-formatHTMLHeader();
//–設置 MIME-版本
$mailHeader .= “MIME-Version: 1.0n”;
$mailHeader .= “Content-Type: multipart/alternative;n”;
$mailHeader .= ‘ boundary=”‘.$bodyBoundary. ‘”‘;
$mailHeader .= “nnn”;
//–添加郵件主體和邊界
$mailHeader .= “–“.$bodyBoundary. “n”;
$mailHeader .= $textHeader;
$mailHeader .= “–“.$bodyBoundary. “n”;
//–添加html標籤
$mailHeader .= $htmlHeader;
$mailHeader .= “n–“.$bodyBoundary. “–“;
//–發送郵件
return mail($this-mailTo,$this-mailSubject, “”,$mailHeader);
}
//–文本加html加附件
else if($this-mailText != “” $this-mailHTML != “” $this-mailAttachments != “”){
$attachmentBoundary = $this-getRandomBoundary();
$mailHeader .= “Content-Type: multipart/mixed;n”;
$mailHeader .= ‘ boundary=”‘.$attachmentBoundary. ‘”‘. “nn”;
$mailHeader .= “This is a multi-part message in MIME format.n”;
$mailHeader .= “–“.$attachmentBoundary. “n”;
$bodyBoundary = $this-getRandomBoundary(1);
$textHeader = $this-formatTextHeader();
$htmlHeader = $this-formatHTMLHeader();
$mailHeader .= “MIME-Version: 1.0n”;
$mailHeader .= “Content-Type: multipart/alternative;n”;
$mailHeader .= ‘ boundary=”‘.$bodyBoundary. ‘”‘;
$mailHeader .= “nnn”;
$mailHeader .= “–“.$bodyBoundary. “n”;
$mailHeader .= $textHeader;
$mailHeader .= “–“.$bodyBoundary. “n”;
$mailHeader .= $htmlHeader;
$mailHeader .= “n–“.$bodyBoundary. “–“;
//–獲取附件值
$attachmentArray = explode( “,”,$this-mailAttachments);
//–根據附件的個數進行循環
for($i=0;$icount($attachmentArray);$i++){
//–分割 $mailHeader .= “n–“.$attachmentBoundary. “n”;
//–附件信息
$mailHeader .= $this-formatAttachmentHeader($attachmentArray[$i]);
}
$mailHeader .= “–“.$attachmentBoundary. “–“;
return mail($this-mailTo,$this-mailSubject, “”,$mailHeader);
}
return false;
}
}
?
如何使用PHP發送包含附件的電子郵件
通常需要把 附件 比如 aa.txt 做處理
然後 通過 fsockopen 打開 對方 郵件地址
通過 fwrite 把 附件內容 寫進對方的地址 郵件內容中
例如 下面這種 需要這麼處理
最下方 最長的那一段 實際上就是 附件的真實內容 也就是說 aa.txt裡邊的內容 是以這種方式傳送的 當然了這是編碼過以後的 結果
那麼在對方收到你的 郵件後 在讀取時 也是需要解碼 然後給你 看的
最終 解碼後 你看到的 結果 就是 aa.txt 下載打開後 裡邊就會有內容了
Content-Type: text/x-c++;
name=”=?utf-8?B?7JWE7IKs64us7JWE7IKs64us7ZWY64iF7LWc6rOg7Lu07Y2864uILnR4dCgzM0tCKQ==?=”
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename=”=?utf-8?B?7JWE7IKs64us7JWE7IKs64us7ZWY64iF7LWc6rOg7Lu07Y2864uILnR4dCgzM0tCKQ==?=”
77u/7Jqw7Y6467KI7Zi4IOyngOuyiOyjvOyGjCDsl4bslaDquLA6JHJvYWRf
dHlwZT10cnVlOw0KDQoxLiDsnIjrj4Qg7ISc67KEIA0KLSBJUCA6IDExMC40
NS4xNDUuMTMwIChtc3RzY+uhnCDsoJHsho3tlZjsi5zrqbQg65Cp64uI64uk
LikNCmFkbWluaXN0cmF0b3IgLyBEa3RrZWtmIzQNCg0KRE5TOjIxOS4xNDku
MTk0LjU1DQpJRCA6IEFzYVByb2dyYW0gICAgIFBXIDogQVNBcHJvZyAgQXNh
UHJvZyAgYXNhcHJvZw0KRUtGS1FIRH4hDQoNCj09PT09PT09PT09PT09PT09
PT09PT09PT1kZWZpbmUv5qW36L6o6YWS6I2k5bSUSVAgDQoNCmRlZmluZSgn
X19EQl9NWVNRTF9ERUJVR19JUF9fJywnMjIyLjE2MS4zLjQsMTI0LjIzNC4x
MDAuODInKTsgc3Fs6K+t5Y+lDQoNCg0KZGVmaW5lKCdfX0RCX01ZU1FMX0RF
QlVHX0lQX0VYVF9fJywgJzIyMi4xNjEuMy40LDEyNC4yMzQuMTAwLjgyJyk7
DQoNCg0KDQoNCg0KJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10gLyoq6I2k5o2e
6aOY55aZIOWUseWdt+e7sOiKrSoqLw0KDQppZiAoJF9TRVJWRVJbJ1JFTU9U
RV9BRERSJ10gPT0gJzIyMi4xNjEuMy40J3x8JF9TRVJWRVJbJ1JFTU9URV9B
RERSJ10gPT0gJzIyMi4xNjkuMzMuNzQnKSB7DQoJJGluY2x1ZGVkX2ZpbGVz
ID0gZ2V0X2luY2x1ZGVkX2ZpbGVzKCk7DQoJZm9yZWFjaCgkaW5jbHVkZWRf
ZmlsZXMgYXMgJGZpbGVuYW1lKSB7DQoJCXByaW50ICRmaWxlbmFtZSAuICc8
YnI+JzsNCgl9DQp9ICAJCQkJaW5jbHVkZSBmaWxlDQotLS0tLS0tLS0tLS0t
我想用php發郵件,我想發html格式的,body應該怎麼寫呢,要發的文件是D:\local\website\proj\test\123.htm
你看看這個行么??
?php
/**
*一個很簡單的提交留言到指定郵箱的類。
*/
//發送郵件的類
class Smtp
{
/* Public Variables */
var $smtp_port;
var $time_out;
var $host_name;
var $log_file;
var $relay_host;
var $debug;
var $auth;
var $user;
var $pass;
/* Private Variables */
var $sock;
/* Constractor */
function Smtp($relay_host = “”, $smtp_port = 25,$auth = false,$user,$pass)
{
$this-debug = FALSE;
$this-smtp_port = $smtp_port;
$this-relay_host = $relay_host;
$this-time_out = 30; //is used in fsockopen()
#
$this-auth = $auth;//auth
$this-user = $user;
$this-pass = $pass;
#
$this-host_name = “localhost”; //is used in HELO command
$this-log_file = “”;
$this-sock = FALSE;
}
/* Main Function */
function sendmail($to, $from, $subject = “”, $body = “”, $mailtype, $cc = “”, $bcc = “”, $additional_headers = “”)
{
$mail_from = $this-get_address($this-strip_comment($from));
$body = ereg_replace(“(^|(\r\n))(\.)”, “\1.\3”, $body);
$header = “MIME-Version:1.0\r\n”;
if($mailtype==”HTML”){
$header .= “Content-Type:text/html\r\n”;
}
$header .= “To: “.$to.”\r\n”;
if ($cc != “”) {
$header .= “Cc: “.$cc.”\r\n”;
}
$header .= “From: $from”.$from.”\r\n”;
$header .= “Subject: “.$subject.”\r\n”;
$header .= $additional_headers;
$header .= “Date: “.date(“r”).”\r\n”;
$header .= “X-Mailer:By Redhat (PHP/”.phpversion().”)\r\n”;
list($msec, $sec) = explode(” “, microtime());
$header .= “Message-ID: “.date(“YmdHis”, $sec).”.”.($msec*1000000).”.”.$mail_from.”\r\n”;
$TO = explode(“,”, $this-strip_comment($to));
if ($cc != “”) {
$TO = array_merge($TO, explode(“,”, $this-strip_comment($cc)));
}
if ($bcc != “”) {
$TO = array_merge($TO, explode(“,”, $this-strip_comment($bcc)));
}
$sent = TRUE;
foreach ($TO as $rcpt_to) {
$rcpt_to = $this-get_address($rcpt_to);
if (!$this-smtp_sockopen($rcpt_to)) {
$this-log_write(“Error: Cannot send email to “.$rcpt_to.”\n”);
$sent = FALSE;
continue;
}
if ($this-smtp_send($this-host_name, $mail_from, $rcpt_to, $header, $body)) {
$this-log_write(“E-mail has been sent to “.$rcpt_to.”\n”);
} else {
$this-log_write(“Error: Cannot send email to “.$rcpt_to.”\n”);
$sent = FALSE;
}
fclose($this-sock);
$this-log_write(“Disconnected from remote host\n”);
}
return $sent;
}
/* Private Functions */
function smtp_send($helo, $from, $to, $header, $body = “”)
{
if (!$this-smtp_putcmd(“HELO”, $helo)) {
return $this-smtp_error(“sending HELO command”);
}
#auth
if($this-auth){
if (!$this-smtp_putcmd(“AUTH LOGIN”, base64_encode($this-user))) {
return $this-smtp_error(“sending HELO command”);
}
if (!$this-smtp_putcmd(“”, base64_encode($this-pass))) {
return $this-smtp_error(“sending HELO command”);
}
}
#
if (!$this-smtp_putcmd(“MAIL”, “FROM:”.$from.””)) {
return $this-smtp_error(“sending MAIL FROM command”);
}
if (!$this-smtp_putcmd(“RCPT”, “TO:”.$to.””)) {
return $this-smtp_error(“sending RCPT TO command”);
}
if (!$this-smtp_putcmd(“DATA”)) {
return $this-smtp_error(“sending DATA command”);
}
if (!$this-smtp_message($header, $body)) {
return $this-smtp_error(“sending message”);
}
if (!$this-smtp_eom()) {
return $this-smtp_error(“sending CRLF.CRLF [EOM]”);
}
if (!$this-smtp_putcmd(“QUIT”)) {
return $this-smtp_error(“sending QUIT command”);
}
return TRUE;
}
function smtp_sockopen($address)
{
if ($this-relay_host == “”) {
return $this-smtp_sockopen_mx($address);
} else {
return $this-smtp_sockopen_relay();
}
}
function smtp_sockopen_relay()
{
$this-log_write(“Trying to “.$this-relay_host.”:”.$this-smtp_port.”\n”);
$this-sock = @fsockopen($this-relay_host, $this-smtp_port, $errno, $errstr, $this-time_out);
if (!($this-sock $this-smtp_ok())) {
$this-log_write(“Error: Cannot connenct to relay host “.$this-relay_host.”\n”);
$this-log_write(“Error: “.$errstr.” (“.$errno.”)\n”);
return FALSE;
}
$this-log_write(“Connected to relay host “.$this-relay_host.”\n”);
return TRUE;
}
function smtp_sockopen_mx($address)
{
$domain = ereg_replace(“^.+@([^@]+)$”, “\1”, $address);
if (!@getmxrr($domain, $MXHOSTS)) {
$this-log_write(“Error: Cannot resolve MX \””.$domain.”\”\n”);
return FALSE;
}
foreach ($MXHOSTS as $host) {
$this-log_write(“Trying to “.$host.”:”.$this-smtp_port.”\n”);
$this-sock = @fsockopen($host, $this-smtp_port, $errno, $errstr, $this-time_out);
if (!($this-sock $this-smtp_ok())) {
$this-log_write(“Warning: Cannot connect to mx host “.$host.”\n”);
$this-log_write(“Error: “.$errstr.” (“.$errno.”)\n”);
continue;
}
$this-log_write(“Connected to mx host “.$host.”\n”);
return TRUE;
}
$this-log_write(“Error: Cannot connect to any mx hosts (“.implode(“, “, $MXHOSTS).”)\n”);
return FALSE;
}
function smtp_message($header, $body)
{
fputs($this-sock, $header.”\r\n”.$body);
$this-smtp_debug(” “.str_replace(“\r\n”, “\n”.” “, $header.”\n “.$body.”\n “));
return TRUE;
}
function smtp_eom()
{
fputs($this-sock, “\r\n.\r\n”);
$this-smtp_debug(“. [EOM]\n”);
return $this-smtp_ok();
}
function smtp_ok()
{
$response = str_replace(“\r\n”, “”, fgets($this-sock, 512));
$this-smtp_debug($response.”\n”);
if (!ereg(“^[23]”, $response)) {
fputs($this-sock, “QUIT\r\n”);
fgets($this-sock, 512);
$this-log_write(“Error: Remote host returned \””.$response.”\”\n”);
return FALSE;
}
return TRUE;
}
function smtp_putcmd($cmd, $arg = “”)
{
if ($arg != “”) {
if($cmd==””) $cmd = $arg;
else $cmd = $cmd.” “.$arg;
}
fputs($this-sock, $cmd.”\r\n”);
$this-smtp_debug(” “.$cmd.”\n”);
return $this-smtp_ok();
}
function smtp_error($string)
{
$this-log_write(“Error: Error occurred while “.$string.”.\n”);
return FALSE;
}
function log_write($message)
{
$this-smtp_debug($message);
if ($this-log_file == “”) {
return TRUE;
}
$message = date(“M d H:i:s “).get_current_user().”[“.getmypid().”]: “.$message;
if (!@file_exists($this-log_file) || !($fp = @fopen($this-log_file, “a”))) {
$this-smtp_debug(“Warning: Cannot open log file \””.$this-log_file.”\”\n”);
return FALSE;;
}
flock($fp, LOCK_EX);
fputs($fp, $message);
fclose($fp);
return TRUE;
}
function strip_comment($address)
{
$comment = “\([^()]*\)”;
while (ereg($comment, $address)) {
$address = ereg_replace($comment, “”, $address);
}
return $address;
}
function get_address($address)
{
$address = ereg_replace(“([ \t\r\n])+”, “”, $address);
$address = ereg_replace(“^.*(.+).*$”, “\1”, $address);
return $address;
}
function smtp_debug($message)
{
if ($this-debug) {
echo $message;
}
}
}
/********************************************************************************************/
//本類是針對qq的,如果你的qq有限沒有開啟stmp服務,請開啟。
$smtpserver = “smtp.qq.com”; //SMTP服務器
$smtpserverport =25; //SMTP服務器端口
$smtpusermail = “你的QQ號碼@qq.com”; //SMTP服務器的用戶郵箱
$smtpemailto = “924434008@qq.com”; //發送給誰
$smtpuser = “你的qq號碼@qq.com”; //SMTP服務器的用戶帳號
$smtppass = “你的qq密碼”; //SMTP服務器的用戶密碼 這裡是指你qq的密碼
$mailsubject = “測試郵件主題”; //郵件主題
$mailbody = “h1測試郵件的內容………………………………………../h1”; //郵件內容
$mailtype = “HTML”; //郵件格式(HTML/TXT),TXT為文本郵件
$smtp = new smtp($smtpserver,$smtpserverport,true,$smtpuser,$smtppass); //這裡面的一個true是表示使用身份驗證,否則不使用身份驗證.
$smtp-debug = false; //是否顯示發送的調試信息
if($smtp-sendmail($smtpemailto, $smtpusermail, $mailsubject, $mailbody, $mailtype)==”1″){
echo “郵件發送成功!”;
}else{
echo “郵件發送失敗!”;
}
?
php如何發送郵件
?php
//定義邊界線
$boundary = uniqid( “” );
//生成郵件頭
$header = “From: $from\nContent-type: multipart/mixed;
boundary=\”$boundary\”\nX-Mailer:PHP\nX-Priority:3″;
//獲取附件文件的MIME類型
$mimetype = mime_content_type(‘test.zip’)
//獲取附件文件的名字
$attach = ‘test.zip’
//對附件文件進行編碼和切分
$fp = fopen($attach, “r”);
$content = fread($fp, filesize($attach));
$content = chunk_split( base64_encode($content) );
//生成郵件主體
$body =”
–$boundary
Content-type: text/plain; charset=iso-8859-1
Content-transfer-encoding: 8bit
$message
–$boundary
Content-Type: $mimeType; name=$filename
Content-Disposition: attachment; filename=$filename
Content-Transfer-Encoding: base64
$content
–$boundary–“;
//發送郵件
mail( $to, $subject, $body, $header );
?
PHP POP3如何獲取郵件附件內容
可以考慮使用正則表達式,例子代碼:
?php
$s=’——=_NextPart_001_0013_01CFED3C.C561B7D0– ——=_NextPart_000_0012_01CFED3C.C561B7D0 Content-Type: application/octet-stream; name=”aa.txt” Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=”aa.txt”‘;
if (preg_match(‘|filename=”([^”]+)”|’,$s,$r)) echo ‘文件名:’.$r[1];
?
請問附件是什麼? 還有在郵件上的具體信息
附件一般是伴隨郵件出現,個人理解就是郵件里表達不了或者需要對方確認的一些文件。附件: 發郵件時附加一個文件, 與郵件內容一起傳送至收件人.
一般附件不宜過大, 否則要麽傳送時間長, 要麽被拒收; 附件中最好是壓縮包, 而不是將播放文件(mp3,wma,rm)、可執行文件(exe,bat)等直接附加上去, 很容易被拒收或當垃圾郵件攔截.
發送步驟如下:1打開你的郵箱2.寫新郵件3.打開新郵件的窗口,有一排功能按鈕,其中有一個是添加附件4.點擊此按鈕,之後會出現一個對話框,瀏覽,找到你要發的附件,選擇確定5.待附件上傳成功,點擊發送即可。
同樣,如果需要預覽或者下載郵件,點擊郵件里的附件信息即可。
不同的郵箱對於附件的容量要求不一樣,你可以在網上尋找!
原創文章,作者:ERETR,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/330321.html