php多种形式发送邮件(mail qmail邮件系统 phpmailer类)
这篇文章主要介绍了php多种形式发送邮件的方法,包括使用mail()函数、使用管道的形式、使用phpmailer类等方法,大家参考使用吧
1. 使用 mail() 函数
没什么好讲的,就是使用系统自带的smtp系统来发送,,一般是使用sendmail来发。这个按照各个系统不同而定。使用参考手册。
2. 使用管道的形式
昨天刚测试成功,使用本地的qmail来发送邮件。
复制代码 代码如下:
/* 使用qmail发送邮件函数 */
function send_check_mail($email, $subject,$uid,$buffer)
{
$command = "/var/qmail/bin/qmail-inject ".$email; //qmail程式地址,$email是要发送的地址
$handle = popen($command, "w"); //打开管道
if (!$handle) {
return false;
}
$from = "webmaster@unixsky.net"; //发件人
fwrite($handle, "From: ".$from."\n"); //往管道写数据
fwrite($handle, "Return-Path: ".$from."\n");
fwrite($handle, "To: ".$uid."\n");
fwrite($handle, "Subject: ".$subject."\n");
fwrite($handle, "Mime-Version: 1.0\n");
fwrite($handle, "Content-Type: text/html; charset=\"gb2312\"\n\n");
fwrite($handle, $buffer."\n");
pclose($handle); //关闭管道
return true;
}
------------------测试发送邮件:
//发送邮件
$subject = "测试邮件";
$uid = $_POST['uid']; //from信息
$content = "
." 你好!
谢谢,本邮件测试!
"; //内容信息
$u_email = "hren@yahoo.com.cn"; //发送到的邮箱
if (send_check_mail($u_email, $subject, $uid, $content)) {
echo "恭喜!发送投票邮件到你的邮箱!
请检查你的邮箱:".$u_email."
". $close;
} else {
echo "非常不幸,发送投票邮件到你的邮箱失败,请重试或联系研发人员。
". $close;
}
当然,也能使用相同的方法来处理sendmail的进程来发送邮件。
下面代码示例:
复制代码 代码如下:
$pp = popen("/usr/sbin/sendmail -t", "w") or die("Cannot fork sendmail");
fputs($pp, "To: sterling@designmultimedia.com\r\n");
fputs($pp, "Reply-to: $senders_email\r\n");
fputs($pp, "From: $senders_email\r\n");
fputs($pp, "Subject The Results of your form\r\n\r\n");
fputs($pp, "$senders_email sent the fllowing comments:\r\n");
fputs($pp, $comments);
pclose($pp) or die("Cannot close pipe to sendmail");
?>
其实这种管道的方法比较底层,取决于你所调用程式的稳定性。所以是一种可选的发送邮件的方式。
3. 使用phpmailer类
是个开源的发送邮件类,主站:
里面是两个文件,一个是class.smtp.php,更有以个是class.phpmailer.php
另外加上官方网站的使用方法:
Examples using phpmailer
1. Advanced ExampleThis demonstrates sending out multiple email messages with binary attachments from a MySQL database with multipart/alternative support.
复制代码 代码如下:
require("class.phpmailer.php");
$mail = new phpmailer();
$mail->From = "list@example.com";
$mail->FromName = "List manager";
$mail->Host = "smtp1.example.com;smtp2.example.com";
$mail->Mailer = "smtp";
@MYSQL_CONNECT("localhost","root","password");
@mysql_select_db("my_company");
$query?=?SELECT full_name, email,?hoto?ROM employee?HERE?d=$id";
$result??MYSQL_QUERY($query);
while ($row = mysql_fetch_array ($result))
{
// HTML body
$body = "Hello " . $row["full_name"] . ",
";
$body .= "Your personal photograph to this message.
";
$body .= "Sincerely,
";
$body .= "phpmailer List manager";
// Plain text body (for mail clients that cannot read HTML)
$text_body = "Hello " . $row["full_name"] . ", \n\n";
$text_body .= "Your personal photograph to this message.\n\n";
$text_body .= "Sincerely, \n";
$text_body .= "phpmailer List manager";
$mail->Body = $body;
$mail->AltBody = $text_body;
$mail->AddAddress($row["email"], $row["full_name"]);
$mail->AddStringAttachment($row["photo"], "YourPhoto.jpg");
if(!$mail->Send())
echo "There has been a mail error sending to " . $row["email"] . "
";
// Clear all addresses and attachments for next loop
$mail->ClearAddresses();
$mail->ClearAttachments();
}
2. Extending phpmailerExtending classes with inheritance is one of the most powerful features of object-oriented programming. It allows you to make changes to the original class for your own personal use without hacking the original classes. Plus, it is very easy to do. I've provided an example:
Here's a class that extends the phpmailer class and sets the defaults for the particular site:
PHP include file: mail.inc.php
复制代码 代码如下:
require("class.phpmailer.php");
复制代码 代码如下:

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

在Web應用程式中,往往需要將郵件一次發送給多個收件者。 PHP是一種很流行的Web開發語言,而PHPMailer是一種常見的發送郵件的PHP類別庫。 PHPMailer提供了豐富的接口,使得在PHP應用程式中發送郵件變得更加方便和易於使用。在本篇文章中,我們將介紹如何使用PHPMailer向多個收件者傳送郵件的方法和步驟。下載PHPMailer首先需要在官網(

PHP開發實務:使用PHPMailer發送郵件到MySQL資料庫中的使用者引言:在現代互聯網建設中,郵件是一種重要的溝通工具。無論是用戶註冊、密碼重置,還是電子商務中的訂單確認,發送電子郵件都是必不可少的功能。本文將介紹如何使用PHPMailer來傳送電子郵件,並將郵件資訊儲存到MySQL資料庫中的使用者資訊表中。一、安裝PHPMailer庫PHPMailer是

如何使用PHP和PHPMAILER發送帶有內嵌圖片的HTML郵件? HTML郵件是一種更豐富和個人化的郵件形式,可以在郵件中插入圖片、連結和樣式。而內嵌圖片是指在HTML郵件中直接將圖片作為郵件的一部分發送,而不是透過附件方式發送。在PHP中,我們可以藉助PHPMAILER來傳送帶有內嵌圖片的HTML郵件。 PHPMAILER是一個功能強大的PHP郵件發送類別庫

PHP和PHPMAILER:如何實現郵件發送的防垃圾郵件功能?引言:在網路時代,電子郵件已經成為了我們日常生活和工作中不可或缺的一部分。然而,隨著電子郵件的普及和使用,垃圾郵件問題日益嚴重,這給用戶帶來了許多困擾。為了解決這個問題,本文將介紹如何利用PHP和PHPMailer庫實現郵件發送的防垃圾郵件功能。一、了解垃圾郵件垃圾郵件(Spam),指的是那些未經

如何使用Flask-Mail發送電子郵件隨著互聯網的發展,電子郵件已經成為了人們溝通的重要工具。在開發網路應用程式中,有時候我們需要在特定的場景下發送電子郵件,例如用戶註冊成功後發送歡迎郵件,或是用戶忘記密碼時發送重設密碼郵件等。 Flask是一款簡單又靈活的PythonWeb框架,而Flask-Mail是Flask框架下用於發送郵件的擴充庫,本文將介紹如何

掌握PHP和PHPMAILER:如何實現郵件發送的自動回覆功能?在現代社會中,電子郵件成為了人們日常溝通的重要方式之一。許多網站或企業都需要透過郵件與使用者溝通和交流,而自動回覆郵件變得非常重要。本文將介紹如何使用PHP和PHPMailer庫實現郵件傳送的自動回覆功能。第一步:取得使用者的郵件資訊首先,我們需要取得使用者的郵件資訊。在網站或應用程式中,用

PHP使用PHPMailer函式庫傳送附件郵件的方法和注意事項郵件在現代生活中已經成為了非常重要的一種通訊方式。在許多開發專案中,我們需要使用程式碼自動傳送郵件,這時候PHPMailer函式庫就是我們的不二之選。 PHPMailer是一個專門用來PHP發送郵件的函式庫。它可以方便地發送郵件,包括HTML格式的郵件和附件。本文將著重介紹PHPMailer庫中如何傳送附附件的郵

Python連接阿里雲接口,實現郵件發送功能阿里雲提供了一系列的服務接口,其中包括了郵件發送服務。透過Python腳本連接阿里雲接口,我們可以實現郵件的快速發送。本篇文章將向您展示如何使用Python腳本連接阿里雲接口,並實現郵件發送功能。首先,我們需要在阿里雲上申請郵件發送服務,以取得對應的介面資訊。在阿里雲端管理控制台中,選擇郵件推播服務,然後建立新的郵
