本文目录一览:
- 1、php中有什么函数可以获取电脑硬件信息?
- 2、求php 发送邮件的代码?
- 3、如何用PHP调用outlook express发送邮件呀
- 4、PHP可以实现发OUTLOOK的约会邮件吗
- 5、php语言中 $MyEmailLink = “$MyEmail”;
- 6、我有个PHP网页。想在这页上加个表单提交到邮箱的功能。不甚感激!
php中有什么函数可以获取电脑硬件信息?
//获取电脑的CPU信息
function OnlyU(){
$a = ”;
$b = array();
if(function_exists(‘exec’)){
if(mailto:!@exec( /all”,$b)){
return false;
}
}elseif(function_exists(‘system’)){
ob_start();
if(mailto:!@system( /all”)){
return false;
}else{
}
$b = ob_get_contents();
ob_end_clean();
$b = explode(“\n”,$b);//print_r($b);
array_pop($b);
}else{
return false;
}
$all = sizeof($b);
for($i = 0; $i $all; $i++){
if(strpos($b[$i],”Description”) !== false){
if(strpos($b[$i+1],”Physical Address”) !== false){
$c = explode(“:”,$b[$i+1]);
$a = trim($c[1]);
break;
}
}
} // End for
return empty($a)?false:$a;
} // End function OnlyU
//获取网卡的MAC的地址
function getMAC() {
@exec(“ipconfig /all”,$array);
for($Tmpa;$Tmpacount($array);$Tmpa++){
if(eregi(“Physical”,$array[$Tmpa])){
$mac=explode(“:”,$array[$Tmpa]);
return $mac[1];
}
}
}
求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调用outlook express发送邮件呀
我用的是win2000。服务器上不让我装smtp服务。
只给了我一个outlook邮件账号可以用。
另外,如上面所说的是不是在php.ini 中就不用设[mail function]了吧。
网页里加一个 a href=mailto:xxx@xxx.xxxxxx/a 不就行了
如果是WebMail没有SMTP也可以用mail()函数呀。
是后台调用呀。!!
相当于用户按确定后。后台机器自动发邮件确认。(根据用户注册信息)
有没有试成过的呀。
既然有outlook邮件账号,那么发件服务器是知道的了
在php.ini中
SMTP = 发件服务器地址
sendmail_from = 你的outlook邮件账号
若发件服务器服务器需要认证的话,可先用outlook发一封邮件。
我们的服务器是SUN的php.ini中smtp是for win32
PHP可以实现发OUTLOOK的约会邮件吗
PHP可以实现发OUTLOOK的约会邮件
?php
$to = “other@xxxx.net”;
$from = “me@xxxx.net”;
$subj = “my test subject”;
$msg = “this is the email body”;
$header = “From: ” . $from . “\r\n” .
“MIME-Version: 1.0\r\n” .
“Content-Type: text/calendar;method=REQUEST”;
$txt_msg = “this is my text message, to be attached\r\n” .
“not much to it, eh.”;
//Various ways to creat a new, random UID
$cal_uid = “{” . uniqid(mt_rand(), true) . “}”;
$cal_uid = “{” . date(‘Ymd’).’T’.date(‘His’).”-“.rand().”@mydomain.com}”;
$cal_uid = com_create_guid();
$cal_msg =
“BEGIN:VCALENDAR
PRODID:-//Microsoft Corporation//Outlook 11.0 MIMEDIR//EN
VERSION:2.0
METHOD:REQUEST
BEGIN:VEVENT
ORGANIZER:MAILTO:name
DTSTART:20090901T170000Z
DTEND:20090901T035959Z
UID:” . $cal_uid . “
LOCATION:my meeting location
TRANSP:OPAQUE
SEQUENCE:0
DTSTAMP:20060309T045649Z
CATEGORIES:Meeting
DESCRIPTION:meeting description, line 1 of 2.\nline 2 of 2.\n\n
SUMMARY:meeting subject
PRIORITY:5
X-MICROSOFT-CDO-IMPORTANCE:1
CLASS:PUBLIC
BEGIN:VALARM
TRIGGER:-PT3D
ACTION:DISPLAY
DESCRIPTION:Reminder
END:VALARM
BEGIN:VTIMEZONE
TZID:US/Central
END:VTIMEZONE
END:VEVENT
END:VCALENDAR”;
if (mail($to, $subj, $cal_msg, $header, “”)) {
echo “test email sent”;
} else {
echo “test email failed”;
}
?
php语言中 $MyEmailLink = “$MyEmail”;
\是一个转义符,就是转化后面那个符号的意义,使它不同于原有的意义,比如字符n,加了转义符就变成了\n,就变成换行符了;\是转义符,在它前面
再加一个转义符\,就是\\,那么后面这个“\”就不再是转义符,而是字符”\”了;”是表示字符串的特殊字符,加了转义字符后就变成了字符”,成了字符
串中的一部分。
在你这里,“双引号本来是个特殊字符,用来表示字符串的,英文里的引号没有上引号和下引号的区别,所以前面的引号和离他最近的后一个引号自动配对。
$MyEmailLink = “a href=\”mailto:$MyEmail\”$MyEmail/a”;如果不加转义就变成了
$MyEmailLink
= “a href=”mailto:$MyEmail”$MyEmail/a”;这样就是”a
href=”,mailto:$MyEmail,”$MyEmail/a”,这样三部分。这样的字符串连接明显是错误的。而加了
转义之后,\”就不是特殊字符”,也就不会和前面的”配对了,那么你的字符串才是一个正确的字符串。
$MyEmailLink = “a href=\”mailto:$MyEmail\”$MyEmail/a”;
你把$MyEmail变量值代进去,这就是一个字符串:a href=”mailto:变量”变量/a
这个超链接应该是给邮箱发邮件的:mailto。后面的变量里包括了
邮箱地址?subject=标题body=内容…… 等
我有个PHP网页。想在这页上加个表单提交到邮箱的功能。不甚感激!
简单的就是用mailto:方法,
复杂的就是用表单, 用phpmailer类做。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/206819.html