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

php郵件發送

發布時間: 2022-01-09 18:35:46

A. 求php 發送郵件的代碼

php裡面有mail函數用於發送郵件,具體你可以查一下手冊,如果遇到問題再回來問。
以前來網路提問,很奇怪為什麼老是有人去搜索一些網頁文章來帖給我,這幾天有閑心作答,才很詫異地發現,原來真的有很多人提了問題出來,等人去搜索答案回來貼。
這是你和你們同學約好的刷分辦法嗎?

B. php 發送郵件 要怎麼配置

在Windows平台下使用mail函數發送郵件,記錄如下

php.ini的設置:

SMTP = localhost
smtp_port = 25
sendmail_from=你的設定值

另外,還需要安裝IIS自帶的SMTP,在SMTP虛擬伺服器上點擊右鍵,在彈出的屬性窗口裡進行如下設置:
點擊訪問選項卡,再點擊中繼,在彈出的窗口出點擊添加,然後選單台計算機,添加IP地址為 127.0.0.1。然後一路確定返回。(不進行此項設置,可能會出現:SMTP server response: 550 5.7.1 Unable to relay for [email protected]。。。的錯誤)

這樣就可以使用mail函數了

<?php
mail("[email protected]","Test mail function of PHP.","hello world!");
?>

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

D. PHP郵件發送

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

E. 怎麼利用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();
}
?>

F. PHP發郵件的問題

如果樓主是自己寫的SMTP類那麼建議你仔細檢查一下SOCKET會話過程
說不定它的SMTP伺服器的驗證過程跟你提供的信息不一致導致的會話錯誤

可以適當修改一下登錄驗證過程的代碼試試

G. 怎樣用php發送郵件啊

一、如何使用網路郵箱接收郵件?
在網路郵箱左側的菜單中點擊「收件夾」打開收件夾頁面,系統將顯示您的收件夾中所有郵件的列表。在此頁面下您可以接收和查看郵件。在郵件列表框中顯示郵件的寄件人、寄件時間、郵件主題以及此郵件的大小。
在頁面右上方有一段文字提示,上面顯示了您郵箱中的郵件總數和新郵件的數量。
接收Web郵件
在收件夾頁面點擊「Web郵件」鏈接,系統將自動把新郵件放到收件夾中 ,同時顯示在郵件列表的最上面。新收到郵件的主題將以粗體顯示。
接收POP郵件
網路郵箱提供了接收其它POP伺服器郵件的功能。首次點擊「POP郵件」將進入POP伺服器設置頁面,有關操作請參閱「設置區」中的介紹。
正確設置POP伺服器後,再次點擊「POP郵件」時系統將自動從您設置的POP伺服器中收郵件,自動把新郵件放到收件夾中,同時顯示在郵件列表的最上面。
閱讀郵件
在郵件列表中,點擊郵件的主題將打開"閱讀郵件內容"頁面。如果郵件包含附件,那麼在郵件正文的下面將顯示附件文件的鏈接,只要點擊即可打開或下載;或者單擊右鍵打開快捷菜單,選擇打開或下載。快捷菜單中菜單項的多少與您使用的瀏覽器有關。
在來信人地址的右側,如果您收到了惡意打擾郵件或者不請自來的網路廣告,點擊"拒收寄件人"鏈接,頁面將詢問您是否將該發件人加入拒收列表,單擊"確定",今後您將不會收到此地址的郵件,如果想恢復,您可以到"設置區/郵件過濾設置"頁面進行修改。另外,您也可以直接到郵件過濾設置中將該來信人地址設入拒收行列。
"添加到通訊錄"鏈接,點擊該鏈接彈出編輯地址頁面,您填寫相關信息後,單擊"確定"按鈕即可將該地址加入地址簿。
切換語言代碼當您閱讀郵件時,如果郵件的內容不能正常顯示,很可能是顯示郵件的語言代碼設置不對。您可以在閱讀郵件的窗口,單擊語言編碼的下拉按鈕,選擇相應的語言編碼。一般港台地區選擇「大五碼(Big5)」,大陸地區選擇GB2312。
加入地址薄在來信人地址的右側,您可以點擊「添加到通訊錄」鏈接,彈出編輯地址頁面,您填寫相關信息後,單擊「確定」按鈕即可將該地址加入通訊錄。
在「閱讀郵件內容」頁面下,您可以點擊「上一封」或「下一封」來查看其它郵件,還可以點擊其它鏈接對當前郵件進行回復、轉發、刪除或轉移。
回復和轉發郵件
對於已閱讀的郵件,您可以進行回復和轉發。在「閱讀郵件內容」頁面下方點擊相應鏈接即可。 回復郵件和轉發郵件都自動打開「寫郵件」頁面。回復郵件時,系統將自動填寫郵件的發送地址和主題,其中主題為:RE+原郵件的主題。轉發郵件時,系統將自動填寫郵件主題:FWD+原郵件的主題。
如果原郵件發送時填寫了「抄送[CC]」一欄,並且您收到後希望給寄件人和所有「抄送[CC]」中的其他收件人回信,您可以點擊「回復全部」進行回復。
刪除當前郵件
在閱讀當前郵件過程中,您可以點擊「刪除」鏈接刪除它,被刪除的郵件將轉移到「垃圾桶」中。
轉移當前郵件
閱讀完郵件後,您可以把當前郵件轉移到其它郵件夾。操作如下: 單擊「選擇目標郵件夾」右側的小圖標打開下拉列表框,單擊選擇郵件夾,然後點擊「轉移郵件到」鏈接即可。
返回收件夾
單擊左側菜單中的「收件夾」,即可返回收件夾頁面。
編輯收件夾
為了便於對郵件進行管理,網路熱線任你郵提供了收件夾編輯功能。其中包括:刪除郵件和轉移郵件。
刪除郵件
您除了可以在"閱讀郵件內容"頁面下刪除當前郵件外,還可以在"收件夾"頁面下刪除一個或多個郵件。操作如下:
1.首先單擊郵件列表左側的選擇框,選擇要刪除的郵件,選擇框內顯示一個小勾表明被選中,一次可以選中多個郵件;如果您想刪除所有郵件,單擊郵件列表下方的「全選」核對框即可;
2.然後點擊「刪除郵件」鏈接即可刪除所選郵件。被刪除的郵件將自動放入「垃圾桶」中。
轉移郵件
您可以把當前打開的收件夾中的郵件轉移到其它郵件夾中。把郵件轉移到「垃圾桶」中與刪除郵件具有相同的結果。轉移郵件操作如下:
1.首先單擊郵件列表左側的選擇框,選中要轉移的郵件,可以一次選擇或多個郵件;如果您想轉移所有郵件,單擊郵件列表下方的「全選」核對框即可;
2.然後在「選擇目標郵件夾」下拉列表框中選擇郵件夾。可選的郵件夾包括您自己建立的郵件夾;
點擊「轉移郵件到」鏈接即可轉移所選郵件。
查看其它郵件夾的內容
在「收件夾」頁面中您可以查看其它郵件夾的內容。操作如下: 打開「選擇要查看的郵件夾」下拉列表框,單擊選擇要查看的郵件夾,系統將自動打開相應的郵件夾,並顯示郵件夾中的郵件列表。
二、如何使用網路郵箱寫郵件並發送?
點擊網路郵箱頁面左側的「寫郵件」,進入寫郵件頁面。在寄件人後顯示您的昵稱和網路郵箱電子郵件地址。
下面詳細介紹編寫郵件的方法:
填寫收件人地址
在收件人(To)、抄送(CC)和密送(BCC)的地址輸入框內,可以輸入對方的E-mail地址(當有多個地址時用逗號或分號分隔);也可以分別點擊每個輸入框前的藍色鏈接打開「通訊錄」窗口,選中所需的聯系人或小組,單擊「確定」按鈕,將所選地址添加到輸入框。需要說明的是,收件人可以看到「抄送[CC]」中的地址,但看不到「密送[BCC]」中的地址。
郵件的主題和正文
在「主題」欄中輸入您所發出的E-mail主題,該主題將顯示在收件人收件夾的「主題」區,發送時未加入主題,顯示為「No Subject」。
在輸入區內輸入您要發送的內容,按「回車鍵」可換行。
發送附件
您還可以將本地硬碟、磁碟或光碟中的文件以附件的形式發送給對方。作為附件的文件類型不限,每次最多可以發送五個文件。在「附件」右側的區域輸入要發送的文件絕對路徑和名稱,或者單擊「瀏覽」按鈕查找選中。收件人對附件可直接打開,也可通過網路下載到本地計算機上。
簽名文件設置
簽名文件內容將顯示在對方收到郵件內容的末尾,設置內容可以在「設置區/簽名文件設置」中進行。當然您可以在「簽名」處輸入不同於預設的內容,但這種更改只對當前發送的E-mail有效,下一次系統仍舊默認預設的簽名文件內容。
設置郵件重要度
您重要的郵件怎樣才能引起別人的重視?在發送郵件前,您可以選擇郵件的重要度,有高、普通和低三種級別。您根據郵件的重要性,單擊「發送級別」的下拉按鈕選擇合適的級別,系統默認級別為「普通」。郵件重要程度的標記會顯示在郵件列表的前面。
郵件收條設置
郵件收條可以方便您了解郵件的接收狀況。如果您想獲得收條,勾選「對方收到信時給我回應」前的核對框,選中郵件收條時可以在對方閱讀郵件時,給您自動發送對方已經閱讀等相關信息的郵件。
發送郵件
點擊「發送郵件」按鈕,系統發出郵件。如果選擇「提示發送成功」選項,發送成功後,系統顯示成功信息;如果沒有選中該選項,發送成功後回到收件夾頁面。
點擊「重寫郵件」清除當前輸入,重新編寫郵件內容。若選中「保留一份在寄件夾中」,則發出的郵件將自動保留在您的寄件夾中,以備隨時查閱。
如有更多問題, 請咨詢網路客服中心。
全國統一客服熱線:95105670 咨詢郵箱:[email protected]

H. 使用php 怎麼發送郵件

你這個是連接的郵件伺服器出錯了。
估計你本地應該沒有裝郵件伺服器吧,一般都會用第三方的郵件伺服器,如smtp.163.com,
去下載個phpmailer,從裡面把class.phpmailer.php提取出來,用很好用的。

I. php中怎樣寫自動發送郵件

思路是這樣
php端寫好發送郵件的代碼
可以參考phpMailer
php是不能實現自動發送,除非你給他一個請求如注冊時,發送郵件驗證,也是有注冊請求才發送的
一版都是在伺服器端 執行你寫好的PHP文件,比如linux的任務計劃功能

J. 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沒有設定,會發不出郵件,只能接收)

熱點內容
oraclelinux使用 發布:2024-12-27 12:46:04 瀏覽:481
相冊密碼在哪裡開 發布:2024-12-27 12:40:29 瀏覽:269
壓縮解壓支持庫 發布:2024-12-27 12:31:46 瀏覽:711
php過濾注入 發布:2024-12-27 12:26:48 瀏覽:842
安卓手機怎麼看手機配置 發布:2024-12-27 12:25:54 瀏覽:33
winccc腳本屬性函數 發布:2024-12-27 12:25:15 瀏覽:61
安卓怎麼設置照片格式 發布:2024-12-27 11:50:05 瀏覽:168
逍遙絕腳本 發布:2024-12-27 11:44:59 瀏覽:430
我的世界哪個伺服器可以1v1 發布:2024-12-27 11:43:37 瀏覽:933
c語言關鍵字有 發布:2024-12-27 11:41:54 瀏覽:368