本文目錄一覽:
- 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/zh-hant/n/206819.html