社区
基础编程
帖子详情
谁能提供用 php 阅读和发送 E-Mail 完整代码。(1)
Mistruster
2002-01-27 08:33:38
谁能提供用 php 阅读和发送 E-Mail 完整代码。
(包括各类Mail)
不要提供个网址,要完整代码帖出来大家共同讨论
(最好标出行号)
要PHP的
300分,够不够?
...全文
273
14
打赏
收藏
谁能提供用 php 阅读和发送 E-Mail 完整代码。(1)
谁能提供用 php 阅读和发送 E-Mail 完整代码。 (包括各类Mail) 不要提供个网址,要完整代码帖出来大家共同讨论 (最好标出行号) 要PHP的 300分,够不够?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
TryProgram
2002-02-05
打赏
举报
回复
有同感。
platinum
2002-02-04
打赏
举报
回复
我现在打算什么问题都靠问了,看源码看的我眼睛都直了
Mistruster
2002-02-04
打赏
举报
回复
我还是先不加分了,再等等...
Mistruster
2002-02-04
打赏
举报
回复
谢谢。
hbolive
2002-01-31
打赏
举报
回复
php手册里面不是有类的简单示范吗??看看就会了。。
php中的类很简单。。
Mistruster
2002-01-31
打赏
举报
回复
再没人回复了吗?
iamwho
2002-01-31
打赏
举报
回复
拜托,看看书吧,很简单的问题,这样还要问,
靠,这样会有提高吗?
我只是怀疑。。。。。。。
给个建议而已
Mistruster
2002-01-30
打赏
举报
回复
哪找?
我是说网上的电子书;除了:
http://nihao.dlut.edu.cn/web/book
http://www.nopayweb.com
http://www.psyon.org
ftp://tracy.bupt.edu.cn
http://lib.wuhee.edu.cn/book/computer.asp
http://www.5xsoft.com
http://www.godcn.net/school/download http://hoganbooks.com/freebook/webbooks.html
http://www.vlib.org/
http://202.114.98.12/book
qsnake
2002-01-30
打赏
举报
回复
找找文章,介绍php面向对象的
Mistruster
2002-01-29
打赏
举报
回复
就此结帐我不甘心。
谁来告诉我 类怎么用啊?
举个具体的示例。
Mistruster
2002-01-28
打赏
举报
回复
类怎么用啊?(初学)
bombshell
2002-01-27
打赏
举报
回复
给你个类吧,发送带附件的邮件的类!界面自己写吧!
<?
class Email
{
var $mailTo = "";
var $mailCC = "";
var $mailBCC = "";
var $mailfrom = "";
var $mailsubject = "";
var $mailText = "";
var $mailHTML = ""; //html 文本信息
var $mailAttachments= ""; //附件数组
///////////////////////////函数部分/////////////////////////////////////////////
/**************设置电子邮件地址*******************/
function setTo($inaddress)
{
$addressArray=explode(",",$inaddress);
for ($i=0;$i<count($addressarray);$i++)
{
if($this->checkEmail($addressArray[$i])==false)
return false;
}
$this->mailTo=implode($addressArray,",");
return true;
}
/****************设置邮件的抄送地址*****************/
function setCC($inAddress)
{
$addressArray=explode(",",$inAddress);
for ($i=0;$i<count($addressArray);$i++)
{
if($this->checkEmail($addressArray[$i])==false)
return false;
}
$this->mailCC=implode($addressArray,",");
return true;
}
/****************设置暗送邮件地址*****************/
function setBCC($inAddress)
{
$addressArray=explode(",",$inAddress);
for($i=0;$i<count($addressArray);$i++)
{
if($this->checkEmail($addressArray[$i])==false)
return false;
}
$this->mailBBC=implode($addressArray,",");
return true;
}
/****************设置邮件发送人地址*****************/
function setFrom($inAddress)
{
if($this->checkEmail($inAddress))
{
$this->mailFrom=$inAddress;
return true;
}
return false;
}
/****************设置邮件主题*********************/
function setSubject($inSubject)
{
if(strlen(trim($inSubject))>0)
{
$this->mailSubject=ereg_replace("\n","",$inSubject);
return true;
}
return false;
}
/*****************设置邮件纯文本内容*************/
function setText($inText)
{
if(strlen(trim($inText))>0)
{
$this->mailText=$inText;
return true;
}
return false;
}
/******************设置邮件HTML文本内容************/
function setHTML($inHTML)
{
if(strlen(trim($inHTML))>0)
{
$this->mailHTML=$inHTML;
return true;
}
return false;
}
/******************存储附件字符串*****************/
function setAttachments($inAttachments)
{
if(strlen(trim($inAttachments))>0)
{
$this->mailAttachments=$inAttachments;
return true;
}
return false;
}
/******************检查邮件地址是否合法***************/
function checkEmail($inAddress)
{
return (ereg( "^[^@]+@([a-zA-Z0-9\-]+\.)+([a-zA-Z0-9\-]{2}
\net\com\gov\mil\edu\int)\$",$inAddess));
}
/******************读取一个模板文件并替换一些红定义的值*********/
function loadTemplate($inFileLocation,$inHash,$inFormat)
{
//--设置模板的一些符号
$templateDelim= "~";
$templateNAMEStart= "!";
//--设置外部字串
$templateLineOut= "";
//--打开模板文件
if($templateFile=fopen($inFileLocation,"r"))
{
//循环分析文件,一行一行的分析
while (!feof($templateFile))
{
$templateLine=fgets($templateFile,1000);
//分割文件的每一行,存放于数组中,并规范其语句
$templateLineArray=explode($templateDelim,$templateLine);
for($i=0;$i<count($templateLineArray);$i++)
{
//--从0的位置开始寻找 $templateNAMEStart
if(strcspn($templateLineArray[$i],$templateNAMEStart)==0)
{
//--在$templateNAMEStart之后得到宏定义的名字
$hashNAME=substr($templateLineArray[$i],1);
//--替换宏定义的名字
$templateLineArray[$i]=ereg_replace($hashNAME,(string)$inHash[$hashNAME],$hashNAME);
}
}
$templateLineOut.=implode($templateLineArray,"");
}
//--关闭文件
fclose($templateFile);
//--按固定的格式设置邮件内容
if(strtoupper($inFormat)=="TEXT")
return($this->setText($templateLineOut));
elseif(strtoupper($inFormat)=="HTML")
return($this->setHTML($templateLineOut));
}
return false;
}
/********************返回一个边界随机值****************/
function getRandomBoundary($offset=0)
{
srand(time()+$offset);
return("----".(md5(rand())));
}
/********************为文件类型返回一个内容种类*********/
function getContentType($inFileNAME)
{
//--剥去路径
$inFileNAME=baseNAME($inFilNAME);
//--检查文件扩展名
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";
}
/*******************为文本返回一个格式化过的头信息***************/
function formatTextHEADer()
{
$outTextHEADer= "";
$outTextHEADer.= "Content-Type:text/plain;charset=us-ascii\n";
$outTextHEADer.= "Content-Transfer-Encoding: 7bit\n\n";
$outTextHEADer.= $this->mailText."\n";
return $outTextHEADer;
}
/*******************返回一个HTML的头信息**************************/
function formatHTMLHEADer()
{
$outHTMLHEADer= "";
$outHTMLHEADer.= "Content-Type:text/HTML;charset=us-ascii\n";
$outHTMLHEADer.= "Content-Transfer-Encoding: 7bit\n\n";
$outHTMLHEADer.= $this->mailHTML."\n";
return $outHTMLHEADer;
}
/******************返回一个附件的头信息*************************/
function formatAttachmentHEADer($inFileLocation)
{
$outAttachmentHEADer= "";
//--通过文件加的扩展名得到content-type
$contentType=$this->getContentType($inFileLocation);
//--如果是text的类型,就用标准的7bit编码
if(ereg("text",$contentType))
{
//--格式化信息头
$outAttachmentHEADer.= "Content-Type:".$contentType.";\n";
$outAttachmentHEADer.= 'NAME="'.baseNAME($inFileLocation).""."\n";
$outAttachmentHEADer.= "Content-Transfer-Encoding:7bit\n";
$outAttachmentHEADer.= "Content-Disposition:attachment;\n";
$outAttachmentHEADer.= 'fileNAME="'.baseNAME($inFileLocation).""."\n\n";
$textFile=fopen($inFileLocation,"r");
//--一行一行的检查文件
while (!feof($textFile))
{
$outAttachmentHEADer.=fgets($textfile,1000);
}
//--关闭文件
fclose($textFile);
$outAttachmentHEADer.= "\n";
}
//--非text类型用64-bit编码
else
{
//格式化头信息
$outAttachmentHEADer.= "Content-type:".$contentType.";\n";
$outAttachmentHEADer.= 'NAME="'.baseNAME($inFileLocation).""."\n";
$outAttachmentHEADer.= "Content-transfer-Encoding:base64\n";
$outAttachmentHEADer.= "content-Disposition:attachment;\n";
$outAttachmentHEADer.= 'fileNAME="'.baseNAME($inFileLocation).""."\n\n";
//--调用uuencode命令
exec("uuencode-m $inFileLocation nothing_out",$returnArray);
//--加入每一行的返回值
for($i=1;$i<(count($returnArray));$i++)
{
$outAttachmentHEADer.=$returnArray[$i]."\n";
}
}
return $outAttachmentHEADer;
}
/********************发送邮件***********************/
function send()
{
//--把邮件头设为空********************************/
$mailHEADer= "";
//--加入抄送地址
if($this->mailCC!= "") $mailHEADer.= "CC:".$this->mailCC."\n";
//--加入暗送地址
if($this->mailCC!= "") $mailHEADer.= "BCC:".$this->mailBCC."\n";
//--加入发送人地址
if($this->mailFrom!= "") $mailHEADer.= "FROM:".$this->mailFrom."\n";
//------------------信息类型-----------------
//--text文本
if($this->mailText!= ""&&$this->mailHTML== ""&&$this->mailAttachments== "")
{
//--得到一个随机边界
$BODYBoundary=$this->getRandomBoundary();
//--格式化头信息
$textHEADer=$this->formatTextHEADer();
$HTMLHEADer=$this->formatHTMLHEADer();
//--设置MINE版本
$mailHEADer.="MIME-Version:1.0\n";
$mailHEADer.= "Content-Type:multipart/alternative;\n";
$mailHEADer.= 'boundary="'.$BODYBoundary."";
$mailHEADer.= "\n\n\n";
//--加入信体和边界
$mailHEADer.= "--".$BODYBoundary."\n";
$mailHEADer.= $textHEADer;
$mailHEADer.= "--".$BODYBoundary."\n";
//--加入HTML和结束边界
$mailHEADer.=$HTMLHEADer;
$mailHEADer.= "\n--".$BODYBoundary."--";
//--发送信息
return mail($this->mailTo,$this->mailSubject,"",$mailHEADer);
}
//--HTML 和 TEXT 和 附件
elseif($this->mailText!= ""&&$this->mailHTML!= ""&&$this->mailAttachments!= "")
{
$attachmentBoundary=$this->getRandomBoundary();
//--为所有部分和边界设置头信息
$mailHEADer.= "Content-Type:multipart/mixed;\n";
$mailHEADer.= 'boundary="'.$attachmentBoundary.""."\n\n";
$mailHEADer.= "This is a multi-part message in MIME format.\n";
$mailHEADer.= "--".$attachmentBoundary."\n";
//--TEXT 和 HTML--
$BODYBoundary=$this->getRandomBoundary(1);
//--格式化头信息
$textHEADer=$this->formatTextHEADer();
$HTMLHEADer=$this->formatHTMLHEADer();
//--设置MIME版本
$mailHEADer.= "MIME-version :1.0\n";
//--为所有部分和边界设置头信息
$mailHEADer.= "Content-Type:multipart/alternative;\n";
$mailHEADer.= 'boundary="'.$BODYBoundary."";
$mailHEADer.= "\n\n\n";
//--加入信体和边界
$mailHEADer.= "--".$BODYBoundary."\n";
$mailHEADer.= $textHEADer;
$mailHEADer.= "--".$BODYBoundary."\n";
//--加入HTML和结尾边界
$mailHEADer.=$HTMLHEADer;
$mailHEADer.= "\n--".$BODYBoundary."--";
//--得到附件文件名数组名
$attachmentArray=explode(",",$this->mialAttachments);
//--检索第一个附件
for($i=0;$i<count($attachmentArray);$i++)
{
//--附件分割标志
$mailHEADer.= "\n--".$attachmentBoundary."\n";
//--得到附件信息
$mailHEADer.=$this->formatAttachmentHEADer($attachmentArray[$i]);
}
$mailHEADer.= "--".$attachmentBoundary."--";
return mail($this->mailTo,$this->mailSubject,"",$mailHEADer);
}
return false;
}
}
?>
Mistruster
2002-01-27
打赏
举报
回复
请不要把同样的代码贴过来
(要灌水去“灌水乐园”或我再开几个专贴让大家灌)
Mistruster
2002-01-27
打赏
举报
回复
类怎么用啊?
「
PHP
系列」
PHP
E-
mail
注入/防止注入
PHP
E-
mail
注入是一种安全漏洞,攻击者尝试通过向邮件
发送
功能输入恶意数据,...使用像
PHP
Mail
er 这样的安全邮件
发送
库可以大大降低 E-
mail
注入的风险。函数对用户输入的邮件内容进行了过滤,以防止潜在的注入攻击。
php
实现超链接,
PHP
将网址URL、E-
mail
文本字符串转成超链接的实现方法
这篇文章主要为大家详细介绍了
PHP
将网址URL、E-
mail
文本字符串转成超链接的实现方法,具有一定的参考价值,可以用来参考一下。
PHP
将网址URL、E-
mail
字符串转为可点击的超链接,感兴趣的小伙伴,下面一起跟随512...
E-
mail
邮件协议的概述
认识E-
mail
协议:SMTP邮箱发信(QQ邮箱为例)...POP3邮箱收信(163邮箱为例):http://blog.csdn.net/aaron133/article/details/78413701一、E-
mail
的
发送
与接收涉及两个协议:1、简单邮件传递协议(SMTP):负责传递邮件,...
PHP
E-
mail
注入
PHP
邮件注入是一种安全漏洞,攻击者可以通过在用户输入中注入恶意内容,操控邮件
发送
功能,
发送
未经授权的电子邮件。...研究表明,这种漏洞主要发生在开发者未正确验证用户输入时,尤其是在使用
PHP
的
mail
()函数时。
PHP
E-
mail
发送
电子邮件
PHP
mail
函数
PHP
简易 E-
Mail
PHP
Mail
表单
PHP
Mail
参考手册
PHP
Secure E-
mail
s
PHP
E-
mail
注入
PHP
防止 E-
mail
注入
PHP
Filter 参考手册
发送
电子邮件
PHP
允许你从脚本直接
发送
电子邮件。
PHP
...
基础编程
21,891
社区成员
140,342
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章