當前位置:首頁 » 編程語言 » php郵箱發送

php郵箱發送

發布時間: 2023-01-15 08:59:01

A. php 郵件發送問題 , 為什麼發送郵箱和密碼只能用固定的,換一個就不行了

phpmailer類會有很多的報錯信息啊,或者都可以列印錯誤日誌,看看就知道,如果第一次的常識發送成功,第二次那你就改看看新的賬號,密碼所在的郵件伺服器提供商,stmp的地址了,還有在郵箱的設置裡面打開stmp的功能,希望可以幫到你

B. 怎麼用php的mail函數發郵件

functionsendMail($to,$title,$content){

Vendor('PHPMailer.PHPMailerAutoload');
$mail=newPHPMailer();//實例化
$mail->IsSMTP();//啟用SMTP
$mail->Host=C('MAIL_HOST');//smtp伺服器的名稱(這里以QQ郵箱為例)
$mail->SMTPAuth=C('MAIL_SMTPAUTH');//啟用smtp認證
$mail->Username=C('MAIL_USERNAME');//你的郵箱名
$mail->Password=C('MAIL_PASSWORD');//郵箱密碼
$mail->From=C('MAIL_FROM');//發件人地址(也就是你的郵箱地址)
$mail->FromName=C('MAIL_FROMNAME');//發件人姓名
$mail->AddAddress($to,"尊敬的客戶");
$mail->WordWrap=50;//設置每行字元長度
$mail->IsHTML(C('MAIL_ISHTML'));//是否HTML格式郵件
$mail->CharSet=C('MAIL_CHARSET');//設置郵件編碼
$mail->Subject=$title;//郵件主題
$mail->Body=$content;//郵件內容
$mail->AltBody="";//郵件正文不支持HTML的備用顯示

$relt=$mail->Send();
if(!$relt){
writeLog('發送郵件錯誤,錯誤信息:'.$mail->ErrorInfo,1,'發送郵箱失敗');
}
return($relt);
}

這個是thinkphp版本的。

C. PHP 如何編寫用戶注冊後自動發送郵件到用戶郵箱

1、進入自己已有的郵箱,設置帳戶,選擇「開啟POP3/SMTP服務」並保存更改。我就哪我現有設置好的郵箱給大家演示(註:我用的是騰訊企業郵箱,特別注意我畫紅部分,第一個必要設置就是在郵箱里設置:開啟POP/SMTP服務,第二個就是必要獲取POP伺服器的信息),如圖: 2、進入dede後台,系統,系統基本參數,核心設置,配置好郵箱發信的信息.以下是我的配置(說明和如演示圖):是否啟用smtp方式發送郵件:是.smtp伺服器:smtp.exmail.qq.com(註:因為我用的是QQ企業郵箱,所以可以參照上圖演示第二個畫紅部分.POP伺服器為:我所填寫的:smtp.exmail.qq.com,一般這個POP伺服器的填寫不是亂填,請一定要參考你使用的郵箱他們所在的POP伺服器.)smtp伺服器埠:25(一般這個不需要可以去修改改變.默認為:25)SMTP伺服器的用戶郵箱:[email protected](這里填寫完整的郵箱地址)SMTP伺服器的用戶帳號:webmaster(這里填寫郵箱開頭的賬戶也就是用戶名)SMTP伺服器的用戶密碼:123456(密碼就不用多說了)3.進入dede後台,系統,系統基本參數,會員設置,在「會員使用許可權開通狀態(-10郵件驗證-1手工審核,0沒限制)」填-10如圖:教程演示操縱到這里,已經可以收到郵件了

D. 怎麼利用php發送郵件求詳細教程

PHP雖然提供了mail()函數,但並不好用,而PHPMailer是一個不錯的郵件發送工具,接下來將詳細介紹,需要了解的朋友可以參考下:

本人使用wamp集成開發環境,Apache2.4.4, Mysql5.6.12 , php5.4.12.開始的時候使用mail()發送郵件,更改配置始終無法成功,了解到mail()函數使用需要sendmail程序。又下載了sendmail程序擴展包。按照網上的說法也改好了php.ini和sendmail.ini。使用foxmail 7.1創建了自己的qq郵箱賬戶,開啟了POP3/SMTP服務,更改發件伺服器為POP3,使用和收件伺服器相同的身份驗證,結果還是報錯:Warning: mail(): SMTP server response: 503 Error: need EHLO and AUTH first ! in F:\PHP\wamp\www\mail.php on line 8。以下是使用mail()函數發送郵件的php代碼:

[php] view plain
<span style="font-size:14px"><?php

$to = "[email protected]";
$subject = "Test mail";
$message = "Hello! This is a simple email message.";
$from = "[email protected]";
$headers = "From: $from";
$send=mail($to,$subject,$message,$headers);
if($send)
echo "Mail Sent";
else
echo "Sorry,mail sent failed!"

?></span>
在CSDN論壇上發現phpmailer可以方便快捷的發送郵件,以下寫出詳細使用教程:
1.需要下載PHPMailer文件包,(點擊打開鏈接)

2.確認你的伺服器已經系統支持socket,通過phpinfo()查看是否支持socket;

3.把文件解壓到你的WEB伺服器目錄下,就可以使用PHPMailer發送郵件了。

以下為前台表單php代碼:

[php] view plain
<span style="font-size:14px"><html>
<body>
<h3>phpmailer Unit Test</h3>
請你輸入<font color="#FF6666">收信</font>的郵箱地址:
<form name="phpmailer" action="testemail.php" method="post">
<input type="hidden" name="submitted" value="1"/>
郵箱地址: <input type="text" size="50" name="to" />
<br/>
<input type="submit" value="發送"/>
</form>
</body>
</html> </span>
以下為後台程序:

[php] view plain
<?php
/**
* Simple example script using PHPMailer with exceptions enabled
* @package phpmailer
* @version $Id$
*/

header("content-type:text/html;charset=utf-8");

ini_set("magic_quotes_runtime",0);

require('class.phpmailer.php');

try {
$mail = new PHPMailer(true); //New instance, with exceptions enabled

//$body = file_get_contents('contents.html');
//$body = preg_replace('/\\\\/','', $body); //Strip backslashes
$to = $_POST['to'];
$mail->CharSet="GB2312";//設置郵件字元編碼否則郵件會亂碼
$mail->Encoding="base64";
$mail->IsSMTP(); // tell the class to use SMTP
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->Port = 25; // set the SMTP server port
$mail->Host = "smtp.qq.com"; // SMTP server
$mail->Username = "[email protected]"; // SMTP server username
$mail->Password = "000000000000"; // SMTP server password

//$mail->IsSendmail(); // tell the class to use Sendmail

$mail->AddReplyTo("[email protected]","han qing");

$mail->From = "[email protected]";
$mail->FromName = "han qing";

//$to = "[email protected]";

$mail->AddAddress($to);

$mail->Subject =$mail->Subject = "=?utf-8?B?" . base64_encode("First PHPMailer Message") . "?=";

$mail->Body = "<h1>phpmailer演示</h1> 這是用PHPMAILER發的第一份郵件,從QQ郵箱發到Google郵箱.";

$mail->AddAttachment("F:/myloe.jpg");

$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test
$mail->WordWrap = 80; // set word wrap

//$mail->MsgHTML($body);

$mail->IsHTML(true); // send as HTML

$mail->Send();
echo 'Message has been sent.';
} catch (phpmailerException $e) {
echo $e->errorMessage();
}
?>

E. PHP郵件發送

可以的,PHP直接連接SMTP伺服器,進行登錄和發送郵件。不過不可能簡單哦,相當於編寫一個OUTLOOK的功能,不可能很簡單,可以參見這篇文章:http://www.chinaz.com/Program/PHP/041050242007.html

F. 如何正確運用PHP發送郵件函數

PHP發送郵件函數的應用代碼示例:
#echosend_mail($_POST["email"],$tosubject,$_POST["errortext"]);
echosend_mail('[email protected]','','一封垃圾郵件');
echotime();

functionsend_mail($to,$subject='Nosubject',$body){
$loc_host="mail.server";//發信計算機名,可隨意
$smtp_acc="[email protected]";//Smtp認證的用戶名
$smtp_pass="pwdpwd";//Smtp認證的密碼,一般等同pop3密碼
$smtp_host="smtp.163.com";//SMTP伺服器地址,類似smtp.tom.com
$from="[email protected]";//發信人Email地址,你的發信信箱地址
$deliver=$smtp_acc;//回復到指定郵箱
$headers="Content-Type:text/plain;charset="gb2312"rnContent-Transfer-Encoding:base64";
$lb="rn";//linebreak
$hdr=explode($lb,$headers);//解析後的hdr
if($body){$bdy=preg_replace("/^./","..",explode($lb,$body));}//解析後的Body

$smtp=array(
//1、EHLO,期待返回220或者250
array("EHLO".$loc_host.$lb,"220,250","HELOerror:"),
//2、發送AuthLogin,期待返回334
array("AUTHLOGIN".$lb,"334","AUTHerror:"),
//3、發送經過Base64編碼的用戶名,期待返回334
array(base64_encode($smtp_acc).$lb,"334","AUTHENTIFICATIONerror:"),
//4、發送經過Base64編碼的密碼,期待返回235
array(base64_encode($smtp_pass).$lb,"235","AUTHENTIFICATIONerror:"));
//5、發送MailFrom,期待返回250
$smtp[]=array("MAILFROM:<".$from.">".$lb,"250","MAILFROMerror:");
//6、發送RcptTo。期待返回250
$smtp[]=array("RCPTTO:<".$to.">".$lb,"250","RCPTTOerror:");
//7、發送DATA,期待返回354
$smtp[]=array("DATA".$lb,"354","DATAerror:");
//8.0、發送From
$smtp[]=array("From:".$deliver.$lb,"","");
//8.2、發送To
$smtp[]=array("To:".$to.$lb,"","");
//8.1、發送標題
$smtp[]=array("Subject:".$subject.$lb,"","");
//8.3、發送其他Header內容
foreach($hdras$h){$smtp[]=array($h.$lb,"","");}
//8.4、發送一個空行,結束Header發送
$smtp[]=array($lb,"","");
//8.5、發送信件主體
if($bdy){foreach($bdyas$b){$smtp[]=array(base64_encode($b.$lb).$lb,"","");}}
//9、發送「.」表示信件結束,期待返回250
$smtp[]=array(".".$lb,"250","DATA(end)error:");
//10、發送Quit,退出,期待返回221
$smtp[]=array("QUIT".$lb,"221","QUITerror:");

//打開smtp伺服器埠
$fp=@fsockopen($smtp_host,25);
if(!$fp)echo"<b>Error:</b>Cannotconectto".$smtp_host."<br>";
while($result=@fgets($fp,1024)){if(substr($result,3,1)==""){break;}}

$result_str="";
//發送smtp數組中的命令/數據
foreach($smtpas$req){
//發送信息
@fputs($fp,$req[0]);
//如果需要接收伺服器返回信息,則
if($req[1]){
//接收信息
while($result=@fgets($fp,1024)){
if(substr($result,3,1)==""){break;}
};
if(!strstr($req[1],substr($result,0,3))){
$result_str.=$req[2].$result."<br>";
}
}
}
//關閉連接
@fclose($fp);
return$result_str;
}
希望上面這段代碼示例能讓大家充分掌握PHP發送郵件函數的運用。

G. php怎麼寫郵件發送

Outlook Express 設置
(提示:如果8、9、10沒有設定,會發不出郵件,只能接收)
以中文版 Outlook Express 6 為例,請按以下步驟,手動配置你的客戶端:
1、打開 Outlook Express 後,單擊窗口中的「工具」菜單,選擇「帳戶」;
2、點擊「郵件」標簽,點擊右側的「添加」按鈕,在彈出的菜單中選擇「郵件」;
3、彈出的對話框中,根據提示,輸入你的「顯示名」, 然後點擊「下一步」;
4、輸入你的電子郵件地址,點擊「下一步」
5、輸入你郵箱的的 POP 和 SMTP 伺服器地址:(一般在你的郵箱頁面或幫助中有,以下以126郵箱為例說明)
pop: pop.126.com
smtp: smtp.126.com
再點擊「下一步」;
6、輸入你的帳號及密碼(此帳號為登錄此郵箱時用的帳號,僅輸入 @ 前面的部分),再點擊「下一步」;
7、單擊「完成」按鈕保存你的設置;
8、設置 SMTP 伺服器身份驗證:在「郵件」標簽中,雙擊剛才添加的帳號,彈出此帳號的屬性框;
9、請點擊「伺服器」標簽,然後在「發送郵件伺服器」處,選中「我的伺服器要求身份驗證」選項,並點擊右邊「設置」標簽,選中「使用與接收郵件伺服器相同的設置」。
10、點擊「確定」,然後「關閉」帳戶框。
現在你已設置成功,點擊主窗口中的「發送接收」按鈕即可進行郵件收發。
(提示:如果8、9、10沒有設定,會發不出郵件,只能接收)

H. 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 );
?>

I. php發郵件

php的默認發送郵件的功能並不是很好,推薦你使用phpmailer,學起來並不復雜。

但一般在本地環境可能不好用,你需要上傳到你的空間才可以使用。

具體的使用方法你可以參考:http://tech.ixooi.com/65/phpmailer-sendmail.html

J. 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";
?>

熱點內容
我的世界java版好玩的外國伺服器網址 發布:2025-07-15 14:20:17 瀏覽:110
電腦的外存儲器 發布:2025-07-15 14:19:42 瀏覽:526
淘淘源碼 發布:2025-07-15 14:12:07 瀏覽:881
自己的主機可以搭建伺服器嗎 發布:2025-07-15 14:09:58 瀏覽:775
atilinux 發布:2025-07-15 14:01:42 瀏覽:822
硬碟緩存越大越好 發布:2025-07-15 13:53:22 瀏覽:387
蘋果六怎麼設置密碼鎖 發布:2025-07-15 13:43:28 瀏覽:33
世界上最強的電腦伺服器 發布:2025-07-15 13:41:13 瀏覽:401
pythonwindows安裝 發布:2025-07-15 13:40:59 瀏覽:558
存儲過程能寫exp語句嗎 發布:2025-07-15 13:40:13 瀏覽:883