導航:首頁 > 編程語言 > php如何發送郵件

php如何發送郵件

發布時間:2024-01-17 18:42:18

php郵件發送代碼可以本地測試嗎

可以本地測試的,只要有網路就可以。下載PH郵件類(php_mail)結合一下代碼就可以了

<?php
header("content-type:text/html;charset=utf-8");
ini_set("magic_quotes_runtime",0);
require'php_mail/class.phpmailer.php';
require'php_mail/class.smtp.php';
functionsend_mail($to,$fromname,$title,$content){
try{
$mail=newPHPMailer(true);
$mail->IsSMTP();
$mail->CharSet='UTF-8';//設置郵件的字元編碼,這很重要,不然中文亂碼
$mail->SMTPAuth=true;//開啟認證
$mail->Port=25;//埠請保持默認
$mail->Host="smtp.163.com";//使用QQ郵箱發送
$mail->Username="[email protected]";//這個可以替換成自己的郵箱
$mail->Password="xxxxxxxxxxxxxxx";//注意這里是寫smtp的授權碼寫的不是QQ密碼,此授權碼不可用
//$mail->IsSendmail();//如果沒有sendmail組件就注釋掉,否則出現「Couldnotexecute:/var/qmail/bin/sendmail」的錯誤提示
$mail->AddReplyTo("[email protected]","mckee");//回復地址
$mail->From="[email protected]";
$mail->FromName=$fromname;
$to=$to;
$mail->AddAddress($to);
$mail->Subject=$title;
$mail->Body=$content;
$mail->AltBody="Toviewthemessage,!";//當郵件不支持html時備用顯示,可以省略
$mail->WordWrap=80;//設置每行字元串的長度
//$mail->AddAttachment("f:/test.png");//可以添加附件
$mail->IsHTML(true);
$mail->Send();
//echo'郵件已發送';

}catch(phpmailerException$e){
//echo"郵件發送失敗:".$e->errorMessage();
}
returntrue;
}
$neirong="聯系電話:".$_POST['phone']."<br/>".$_POST['content']."<hr><pstyle='float:right;'>郵件來自官網</p>";
send_mail('[email protected]',$_POST['fromname'],'來信了ヾ(≧O≦)〃嗷~',$neirong);
//send_mail('[email protected]',$_POST['fromname'],'可愛的保氧家官網來信了ヾ(≧O≦)〃嗷~',$neirong);
//環境PHP5.3親測可用,
?>

⑵ php表單數據發送到指定郵件

首先,我們需要去悶緩Github(網頁鏈接)下載完整的SwiftMailer

這里主要使用到的是下載解壓後lib文件夾里的內容,然後需要一些配置項,為方便管理和修改,此處我們寫一個配置文件config.php,來進行配置,此處以QQ郵箱為例,配置項如下:

然後就可以去郵箱查看是否收取到郵件拍轎咯。

就是這么簡單。

參考:網頁鏈接

⑶ 如何在PHP中使用PHPMailer發送郵件

function postmail($to,$subject = '',$body = ''){
//Author:Jiucool WebSite: http://www.jiucool.com
//$to 表示收件人地址 $subject 表示郵件標題 $body表示郵件正文
//error_reporting(E_ALL);
error_reporting(E_STRICT);
date_default_timezone_set('Asia/Shanghai');//設定時區東八區
require_once('class.phpmailer.php');
include('class.smtp.php');
$mail = new PHPMailer(); //new一個PHPMailer對象出來
$body = eregi_replace("[\]",'',$body); //對郵件內容進行必要的過濾
$mail->CharSet ="GBK";//設定郵件編碼,默認ISO-8859-1,如果發中文此項必須設置,否則亂碼
$mail->IsSMTP(); // 設定使用SMTP服務
$mail->SMTPDebug = 1; // 啟用SMTP調試功能
// 1 = errors and messages
// 2 = messages only
$mail->SMTPAuth = true; // 啟用 SMTP 驗證功能
$mail->SMTPSecure = "ssl"; // 安全協議,可以注釋掉
$mail->Host = 'stmp.163.com'; // SMTP 伺服器
$mail->Port = 25; // SMTP伺服器的埠號
$mail->Username = 'wangliang_198x'; // SMTP伺服器用戶名,PS:我亂打的
$mail->Password = 'password'; // SMTP伺服器密碼
$mail->SetFrom('[email protected]', 'who');
$mail->AddReplyTo('[email protected]','who');
$mail->Subject = $subject;
$mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; // optional, comment out and test
$mail->MsgHTML($body);
$address = $to;
$mail->AddAddress($address, '');
//$mail->AddAttachment("images/phpmailer.gif"); // attachment
//$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment
if(!$mail->Send()) {
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
// echo "Message sent!恭喜,郵件發送成功!";
}
}
希望對您有幫助,望採納,謝謝!

⑷ php如何發郵件

PHP mail() 函數
PHP mail() 函數用於從腳本中發送電子郵件。
語法
mail(to,subject,message,headers,parameters)
參數 描述
to 必需。規定 email 接收者。
subject 必需。規定 email 的主題。注釋:該參數不能包含任何新行字元。
message 必需。定義要發送的消息。應使用 LF (\n) 來分隔各行。
headers
可選。規定附加的標題,比如 From、Cc 以及 Bcc。
應當使用 CRLF (\r\n) 分隔附加的標題。
parameters 可選。對郵件發送程序規定額外的參數。
注釋:PHP 需要一個已安裝且正在運行的郵件系統,以便使郵件函數可用。所用的程序通過在 php.ini 文件中的配置設置進行定義。請在我們的 PHP Mail 參考手冊閱讀更多內容。
PHP 簡易 E-Mail
通過 PHP 發送電子郵件的最簡單的方式是發送一封文本 email。
在下面的例子中,我們首先聲明變數($to, $subject, $message, $from, $headers),然後我們在 mail() 函數中使用這些變數來發送了一封 e-mail:
<?php

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

?>
PHP Mail Form
通過 PHP,您能夠在自己的站點製作一個反饋表單。下面的例子向指定的 e-mail 地址發送了一條文本消息:
<html>
<body>

<?php
if (isset($_REQUEST['email']))
//if "email" is filled out, send email
{
//send email
$email = $_REQUEST['email'] ;
$subject = $_REQUEST['subject'] ;
$message = $_REQUEST['message'] ;
mail( "[email protected]", "Subject: $subject",
$message, "From: $email" );
echo "Thank you for using our mail form";
}
else
//if "email" is not filled out, display the form
{
echo "<form method='post' action='mailform.php'>
Email: <input name='email' type='text' /><br />
Subject: <input name='subject' type='text' /><br />
Message:<br />
<textarea name='message' rows='15' cols='40'>
</textarea><br />
<input type='submit' />
</form>";
}
?>

</body>
</html>
例子解釋:
首先,檢查是否填寫了郵件輸入框
如果未填寫(比如在頁面被首次訪問時),輸出 HTML 表單
如果已填寫(在表單被填寫後),從表單發送郵件
當點擊提交按鈕後,重新載入頁面,顯示郵件發送成功的消息

⑸ php怎麼實現發送郵件

PHP發送郵件是「非常的簡單」 因為他提供了mail()函數直接發送,但配置相當麻煩 (1)通過mail()函數發送郵件 mail() 配置PHP.ini 郵件信息 需要類似sendmail這樣的組件支持 (2)通過socket通訊,使用SMTP傳輸 socket連接->SMTP通訊->獲取通訊消息->發送 mail函數的使用 mail() 函數允許您從腳本中直接發送電子郵件。 如果郵件的投遞被成功地接收,則返回 true,否則返回 mail(to,subject,message,headers,parameters) socket方式發送原理 給你一個別人寫好的類 用法在下面 本人經測試很多網站都不提供免費的smtp服務(126、sina、netease 這幾個試過了),騰訊郵箱支持此功能。 用法: <? require_once ('email.class.php'); //########################################## $smtpserver = "smtp.163.com";//SMTP伺服器 $smtpserverport =25;//SMTP伺服器埠 $smtpusermail = "";//SMTP伺服器的用戶郵箱 $smtpemailto = "";//發送給誰 $smtpuser = "";//SMTP伺服器的用戶帳號 $smtppass = "";//SMTP伺服器的用戶密碼 $mailsubject = "PHP100測試郵件系統";//郵件主題 $mailbody = "<h1> 這是一個測試程序 PHP100.com </h1>";//郵件內容 $mailtype = "HTML";//郵件格式(HTML/TXT),TXT為文本郵件 ########################################## $smtp = new smtp($smtpserver,$smtpserverport,true,$smtpuser,$smtppass);//這裡面的一個true是表示使用身份驗證,否則不使用身份驗證. $smtp->debug = FALSE;//是否顯示發送的調試信息 $smtp->sendmail($smtpemailto, $smtpusermail, $mailsubject, $mailbody, $mailtype); ?> 郵件發送類 <? class smtp { /* Public Variables */ var $smtp_port; var $time_out; var $host_name; var $log_file; var $relay_host; var $debug; var $auth; var $user; var $pass; /* Private Variables */ var $sock; /* Constractor */ function smtp($relay_host = "", $smtp_port = 25,$auth = false,$user,$pass) { $this->debug = FALSE; $this->smtp_port = $smtp_port; $this->relay_host = $relay_host; $this->time_out = 30; //is used in fsockopen() # $this->auth = $auth;//auth $this->user = $user; $this->pass = $pass; # $this->host_name = "localhost"; //is used in HELO command $this->log_file =""; $this->sock = FALSE; } /* Main Function */ function sendmail($to, $from, $subject = "", $body = "", $mailtype, $cc = "", $bcc = "", $additional_headers = "") { $mail_from = $this->get_address($this->strip_comment($from)); $body = ereg_replace("(^|(\r\n))(\\.)", "\\1.\\3", $body); $header .= "MIME-Version:1.0\r\n"; if($mailtype=="HTML"){ $header .= "Content-Type:text/html\r\n"; } $header .= "To: ".$to."\r\n"; if ($cc != "") { $header .= "Cc: ".$cc."\r\n"; } $header .= "From: $from<".$from.">\r\n"; $header .= "Subject: ".$subject."\r\n"; $header .= $additional_headers; $header .= "Date: ".date("r")."\r\n"; $header .= "X-Mailer:By Redhat (PHP/".phpversion().")\r\n"; list($msec, $sec) = explode(" ", microtime()); $header .= "Message-ID: <".date("YmdHis", $sec).".".($msec*1000000).".".$mail_from.">\r\n"; $TO = explode(",", $this->strip_comment($to)); if ($cc != "") { $TO = array_merge($TO, explode(",", $this->strip_comment($cc))); } if ($bcc != "") { $TO = array_merge($TO, explode(",", $this->strip_comment($bcc))); } $sent = TRUE; foreach ($TO as $rcpt_to) { $rcpt_to = $this->get_address($rcpt_to); if (!$this->smtp_sockopen($rcpt_to)) { $this->log_write("Error: Cannot send email to ".$rcpt_to."\n"); $sent = FALSE; continue; } if ($this->smtp_send($this->host_name, $mail_from, $rcpt_to, $header, $body)) { $this->log_write("E-mail has been sent to <".$rcpt_to.">\n"); } else { $this->log_write("Error: Cannot send email to <".$rcpt_to.">\n"); $sent = FALSE; } fclose($this->sock); $this->log_write("Disconnected from remote host\n"); } echo "<br>"; echo $header; return $sent; } /* Private Functions */ function smtp_send($helo, $from, $to, $header, $body = "") { if (!$this->smtp_putcmd("HELO", $helo)) { return $this->smtp_error("sending HELO command"); } #auth if($this->auth){ if (!$this->smtp_putcmd("AUTH LOGIN", base64_encode($this->user))) { return $this->smtp_error("sending HELO command"); } if (!$this->smtp_putcmd("", base64_encode($this->pass))) { return $this->smtp_error("sending HELO command"); } } # if (!$this->smtp_putcmd("MAIL", "FROM:<".$from.">")) { return $this->smtp_error("sending MAIL FROM command"); } if (!$this->smtp_putcmd("RCPT", "TO:<".$to.">")) { return $this->smtp_error("sending RCPT TO command"); } if (!$this->smtp_putcmd("DATA")) { return $this->smtp_error("sending DATA command"); } if (!$this->smtp_message($header, $body)) { return $this->smtp_error("sending message"); } if (!$this->smtp_eom()) { return $this->smtp_error("sending <CR><LF>.<CR><LF> [EOM]"); } if (!$this->smtp_putcmd("QUIT")) { return $this->smtp_error("sending QUIT command"); } return TRUE; } function smtp_sockopen($address) { if ($this->relay_host == "") { return $this->smtp_sockopen_mx($address); } else { return $this->smtp_sockopen_relay(); } } function smtp_sockopen_relay() { $this->log_write("Trying to ".$this->relay_host.":".$this->smtp_port."\n"); $this->sock = @fsockopen($this->relay_host, $this->smtp_port, $errno, $errstr, $this->time_out); if (!($this->sock && $this->smtp_ok())) { $this->log_write("Error: Cannot connenct to relay host ".$this->relay_host."\n"); $this->log_write("Error: ".$errstr." (".$errno.")\n"); return FALSE; } $this->log_write("Connected to relay host ".$this->relay_host."\n"); return TRUE;; } function smtp_sockopen_mx($address) { $domain = ereg_replace("^.+@([^@]+)$", "\\1", $address); if (!@getmxrr($domain, $MXHOSTS)) { $this->log_write("Error: Cannot resolve MX \"".$domain."\"\n"); return FALSE; } foreach ($MXHOSTS as $host) { $this->log_write("Trying to ".$host.":".$this->smtp_port."\n"); $this->sock = @fsockopen($host, $this->smtp_port, $errno, $errstr, $this->time_out); if (!($this->sock && $this->smtp_ok())) { $this->log_write("Warning: Cannot connect to mx host ".$host."\n"); $this->log_write("Error: ".$errstr." (".$errno.")\n"); continue; } $this->log_write("Connected to mx host ".$host."\n"); return TRUE; } $this->log_write("Error: Cannot connect to any mx hosts (".implode(", ", $MXHOSTS).")\n"); return FALSE; } function smtp_message($header, $body) { fputs($this->sock, $header."\r\n".$body); $this->smtp_debug("> ".str_replace("\r\n", "\n"."> ", $header."\n> ".$body."\n> ")); return TRUE; } function smtp_eom() { fputs($this->sock, "\r\n.\r\n"); $this->smtp_debug(". [EOM]\n"); return $this->smtp_ok(); } function smtp_ok() { $response = str_replace("\r\n", "", fgets($this->sock, 512)); $this->smtp_debug($response."\n"); if (!ereg("^[23]", $response)) { fputs($this->sock, "QUIT\r\n"); fgets($this->sock, 512); $this->log_write("Error: Remote host returned \"".$response."\"\n"); return FALSE; } return TRUE; } function smtp_putcmd($cmd, $arg = "") { if ($arg != "") { if($cmd=="") $cmd = $arg; else $cmd = $cmd." ".$arg; } fputs($this->sock, $cmd."\r\n"); $this->smtp_debug("> ".$cmd."\n"); return $this->smtp_ok(); } function smtp_error($string) { $this->log_write("Error: Error occurred while ".$string.".\n"); return FALSE; } function log_write($message) { $this->smtp_debug($message); if ($this->log_file == "") { return TRUE; } $message = date("M d H:i:s ").get_current_user()."[".getmypid()."]: ".$message; if (!@file_exists($this->log_file) || !($fp = @fopen($this->log_file, "a"))) { $this->smtp_debug("Warning: Cannot open log file \"".$this->log_file."\"\n"); return FALSE; } flock($fp, LOCK_EX); fputs($fp, $message); fclose($fp); return TRUE; } function strip_comment($address) { $comment = "\\([^()]*\\)"; while (ereg($comment, $address)) { $address = ereg_replace($comment, "", $address); } return $address; } function get_address($address) { $address = ereg_replace("([ \t\r\n])+", "", $address); $address = ereg_replace("^.*<(.+)>.*$", "\\1", $address); return $address; } function smtp_debug($message) { if ($this->debug) { echo $message."<br>"; } } function get_attach_type($image_tag) { // $filedata = array(); $img_file_con=fopen($image_tag,"r"); unset($image_data); while ($tem_buffer=AddSlashes(fread($img_file_con,filesize($image_tag)))) $image_data.=$tem_buffer; fclose($img_file_con); $filedata['context'] = $image_data; $filedata['filename']= basename($image_tag); $extension=substr($image_tag,strrpos($image_tag,"."),strlen($image_tag)-strrpos($image_tag,".")); switch($extension){ case ".gif": $filedata['type'] = "image/gif"; break; case ".gz": $filedata['type'] = "application/x-gzip"; break; case ".htm": $filedata['type'] = "text/html"; break; case ".html": $filedata['type'] = "text/html"; break; case ".jpg": $filedata['type'] = "image/jpeg"; break; case ".tar": $filedata['type'] = "application/x-tar"; break; case ".txt": $filedata['type'] = "text/plain"; break; case ".zip": $filedata['type'] = "application/zip"; break; default: $filedata['type'] = "application/octet-stream"; break; } return $filedata; } } ?>

⑹ 請問一下,PHP配置SMTP怎麼弄

PHPMailer的獲取:

PHPMailer項目地址:PHPMailer 使用git命令克隆到本地,或直接在該項目頁面的右下方點擊「 Download ZIP 」即可獲取到完整的PHPMailer代碼包,再到本地解壓即可。

步驟一:使我們的QQ郵箱能夠發送郵件

這里怎麼說能夠發送郵件呢?其實我們的郵箱都是可以發送郵件的,但是要實現在我們的網站中發送郵件,那就要設置一下我們的QQ郵箱了,因為此時我們的網站現在是作為一個第三方客戶端存在的。

步驟一:使我們的QQ郵箱能夠發送郵件

這里怎麼說能夠發送郵件呢?其實我們的郵箱都是可以發送郵件的,但是要實現在我們的網站中發送郵件,那就要設置一下我們的QQ郵箱了,因為此時我們的網站現在是作為一個第三方客戶端存在的

閱讀全文

與php如何發送郵件相關的資料

熱點內容
手機文件夾刪除又出現怎麼解決 瀏覽:285
php時間段分析 瀏覽:213
redisjava類 瀏覽:911
剪力牆錯開部分鋼筋是否加密 瀏覽:477
linux字元設備驅動程序 瀏覽:57
全排列演算法java 瀏覽:465
中國銀行app轉賬電子回單在哪裡 瀏覽:51
操作簡單的程序員 瀏覽:600
數值積分演算法求pi 瀏覽:18
按鈕怎麼連命令方塊 瀏覽:909
房貸還清後不解壓能貸款嗎 瀏覽:36
程序員哄老婆開心技術 瀏覽:672
oracle自動備份壓縮文件 瀏覽:855
遵義人字形加密網帶 瀏覽:255
寧波人社在哪裡下載app 瀏覽:92
好噠商戶app下載在哪裡下載 瀏覽:609
廣發兌星巴克是在app哪裡操作 瀏覽:783
linuxgetline 瀏覽:215
app的懸浮窗許可權在哪裡設置 瀏覽:686
51單片機定時器溢出標志 瀏覽:373