PHP使用gmail發郵件
實驗室要舉辦一個會議,要我做一個會議的網站。使用了開源的openconf,十分省事。但發郵件簡單的使用了PHP的mail函式,沒有經過SMTP認證,傳送的郵件很可能出現在對方的垃圾箱裡,甚至會被退信。搜尋了一下有很多PHP類庫支援利用SMTP傳送郵件,比如PHPMailer。
下面是利用PHPMailer實現的一個函式以及簡單的測試程式碼。【注意,執行此函式需要openconf原始碼根目錄下的class.phpmailer.php和class.smtp.php】
請將“[email protected]”替換成你的gmail,寫上對應密碼。將“[email protected]
<?php
//下面定義一個傳送郵件的函式,已經測試通過。
//$sendto_email:郵件傳送地址
//$subject:郵件主題
//$body:郵件正文內容
//$sendto_name郵件接受方的姓名,傳送方起的名字。一般可省。
function stmp_mail($sendto_email, $subject = null, $body = null, $sendto_name = null) {
//vendor ( "PHPMailer.class#phpmailer" ); //匯入函式包的類class.phpmailer.php
require_once("class.phpmailer.php");
$mail = new PHPMailer (); //新建一個郵件傳送類物件
$mail->IsSMTP (); // send via SMTP
$mail->Port = 25; //傳送埠
$mail->Host = "ssl://smtp.gmail.com:465"; // SMTP 郵件伺服器地址,這裡需要替換為傳送郵件的郵箱所在的郵件伺服器地址, 這裡使用了gmail的SMTP設定
$mail->SMTPAuth = true; // turn on SMTP authentication 郵件伺服器驗證開
$mail->Username = " [email protected]"; // SMTP伺服器上此郵箱的使用者名稱,有的只需要@前面的部分,有的需要全名。請替換為正確的郵箱使用者名稱
$mail->Password = "******"; // SMTP伺服器上該郵箱的密碼,請替換為正確的密碼
$mail->From = "[email protected]"; // SMTP伺服器上傳送此郵件的郵箱,請替換為正確的郵箱,$mail->Username 的值是對應的。
$mail->FromName = "yourName"; // 真實發件人的姓名等資訊,這裡根據需要填寫
$mail->CharSet = "utf-8"; // 這裡指定字符集!
//$mail->Encoding = "base64";
$mail->AddAddress ( $sendto_email, $sendto_name ); // 收件人郵箱和姓名
//$mail->AddReplyTo(' [email protected]',"管理員");//這一項根據需要而設
//$mail->WordWrap = 50; // set word wrap
//$mail->AddAttachment("/var/tmp/file.tar.gz"); // 附件處理
//$mail->AddAttachment("/tmp/image.jpg", "new.jpg");
//$mail->IsHTML ( true ); // send as HTML
$mail->Subject = $subject; // 郵件主題
// 郵件內容
/*
$mail->Body = "<html><head>
<meta http-equiv=”Content-Language” content=”zh-cn”>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″></head>
<body>'.$body.'</body></html>";
$mail->AltBody = "text/html";
*/
$mail->Body = $body;
if (! $mail->Send ()) {
//郵件傳送失敗
return false;
} else {
//郵件傳送成功
return true;
}
}
//function end
?>
將上面程式碼存為gmail.php,編寫下面的main.php<?php
require_once "gmail.php";
echo "send mail begin";
echo " ";
if(stmp_mail("[email protected]","subject","body"))
echo "success";
else
echo "failed";
echo " ";
echo "send mail end";
?>
使用瀏覽器訪問mail.php測試。
______________UPDATED 2013.04.27___________________________________
下面市openconf需要做的更改:
- 將上述檔案gmail.php放在opencof根目錄
- 修改include.php
- 在<?php 下面一行新增
require_once "gmail.php";
- 替換函式oc_mail:
function oc_mail($to, $subject, $body, $hdr='', $enc='quoted-printable') { global $OC_configAR; $headers = (empty($hdr) ? $OC_configAR['OC_mailHeaders'] : $hdr); $headers = "MIME-Version: 1.0\r\n" . $headers . "\r\nContent-Type: text/plain; charset=UTF-8\r\nContent-Transfer-Encoding: " . $enc; $headers = preg_replace("/\r/", "", $headers); return (stmp_mail($to, $subject, $body)); }
- 在<?php 下面一行新增
相關推薦
linux如何發郵件
linux發郵件作為linux系統管理員,我們會偶爾使用mail命令進行發郵件。我主要是利用mail監控主機及時報警. 步驟:查看系統是否安裝mailwhereis mail ###一般都在/etc/mail.rc2.如果沒安裝直接yum install sendmail*然後重新啟動sendmail服
Log4j配置發郵件功能
郵件功能 smtp eve gin java apach bsp ole message # 發送日誌到指定郵件log4j.appender.mail=org.apache.log4j.net.SMTPAppenderlog4j.appender.mail.Threshol
數據統計並發郵件腳本
python#!/usr/bin/env python2 #-*- coding:utf-8 -*- #Author : zhanglejie #Time: 2017/05/18 ‘‘‘ 生成wifi數據最近7天(不含當天)回傳列表:天數,MAC 判斷依據:數據回傳後會創建相應的文件,文件名包含mac和時間
阿裏雲服務器不能發郵件,禁用25端口的解決辦法
utf not red view 成功 提示 password imap erro 前陣子剛剛買了個阿裏雲服務器,在做發送郵件功能時,發現本來在本地測試沒問題的功能,在服務器上連接超時。 後來發現是阿裏雲將25端口禁用了(“坑!當然也有其道理”),大概2016年9月後買
python 發郵件:sina普通版 | zabbix版本
服務器 郵箱 python import sina from email.mime.text import MIMEText from email.header import Header from smtplib import SMTP_SSL def send_mail(sende
在Linux中如何向163郵箱發郵件
linux成長歷程linux收發郵件1.首先要保證自己的Linux服務器能夠ping通www.baidu.comping www.baicu.com[email protected]/* */3.將進入郵箱後進行如下設置. 1.首頁電擊設置,點擊POP3/SMTP/IMAP設置. 2.將對應選項下
PHP中利用PHPMailer配合QQ郵箱實現發郵件
一定的 bst strong ddr 實驗室 ber 希望 域名 add 前言: 由於作業的需要,要實現給我們的網站用戶發送郵件,於是就有了這篇博客。以下的內容是我結合網上的例子加上自己的實踐的出來的。希望對大家有幫助。 PHPMailer的介紹: 優點: 可運行在任何平
檢測到有人登錄到linux,mysql,ftp,就發郵件通知管理員
mysql ftp 檢測到有人登錄到linux 就發郵件通知管理員 最近老板總感覺有人能登錄到公司的linux系統,我排查了半天也沒有找到任何蛛絲馬跡,幹脆設置一個陷阱,等著那個人往裏走【1】使用sendmail搭建簡單郵件服務器第一步:安裝sendmail並啟動服務yum -y instal
icinga2對特定服務設置專門發郵件策略
icinga2icinga2對特定服務設置專門發郵件策略(如mysql、web等):# vi /etc/icinga2/conf.d/timeperiods.conf (也可以新建個TimePeriod)object TimePeriod "9to5" { import "legacy-timeperiod
mutt發郵件
-a first ida 發郵件 -s .com ttr from mutt 在 /etc/Muttrc 文件添加以下內容: set from="[email protected]" set use_from=yes set envelope_from="ye
python 發郵件腳本
tex except exc header encoder ams ddr local eap 相關模塊介紹 發送郵件主要用到了smtplib和email兩個模塊,這裏首先就兩個模塊進行一下簡單的介紹: 1、smtplib模塊 smtplib.SM
磁盤告警發郵件
-c awk for -h email ast 主機 tor cal #!/bin/bash#auto montor disk#by authors zhj 2017 rm -rf list.txtLIST=`df -h | grep "^/dev" >> li
php發郵件:swiftmailer, php郵件庫——swiftmailer
郵件 cnblogs exit end 地址 text loader 多個 郵件服務器 php發郵件:swiftmailer, php郵件庫——swiftmailer 最近看到一個好的php郵件庫,與phpmailer作用一樣,但性能比phpmailer好,尤其是在處理附件
python爬蟲抓取zabbix監控圖,並發郵件
python 抓取 最近十九大非常煩,作為政府網站維護人員,簡直是夜不能寐。各種局子看著你,內保局,公安部,360,天融信,華勝天成,中央工委,政治委員會...360人員很傻X,作為安全公司,竟然不能抓到XX網站流量,在我們機房放的探針更是搞笑,讓我們手工上報流量數據。白天還行,晚上怎麽辦?給他寫個腳
發郵件
smtplib utf-8 str port text pre xxxxxx serve gin def email(): import smtplib from email.mime.text import MIMEText from email.uti
Mac下命令行發郵件【搭配php(shell_exec...)等腳本語言,輕松發郵件,告別各種依賴庫】
-1 mtp ima .cn 令行 輕量 -- 語言 郵件 用到的是msmtp,一個smtp客戶端,比sendmail,postfix更加輕量。用自己的QQ郵箱(163...)發郵件的話,很適合。 Mac下安裝很簡單,一句話:brew install msmtp
iOS-打電話、發短信、發郵件【指定QQ用戶發送QQ消息】
ios 郵件內容 取消 bar 內容 tex 是否 ext else 1.發短信 頭文件 #import <MessageUI/MessageUI.h> 頭部代理 @interface ViewController ()<MFMessageCompo
19.12添加自定義監控項目19.13/19.14 配置郵件告警19.15 測試告警19.16 不發郵件的問題處理
19.12添加自定義監控項目19.13/19.14 配置郵件告警19.15 測試告警19.16 不發郵件的問題處理19.12 添加自定義監控項目19.13/19.14 配置郵件告警19.15 測試告警19.16 不發郵件的問題處理19.12 添加自定義監控項目zabbix的監控項目是在模板裏面體現,但是有時候
python發郵件
cati gpo () {} user ase htm 質量 passwd 使用自動發送郵件功能,添加附件(圖片,文件等) # hanbb # come on!!! import smtplib from email.mime.text import MIMEText f
redmine創建新聞,自動發郵件給項目組所有成員
redmin 接受 clas 9.png es2017 mage class 檢查 mine redmine創建新聞,自動發郵件給項目組所有成員: 1.添加用戶至公共項目內 2.配置系統郵件推送配置 3.檢查用戶接受推送配置 3.使用管理員賬戶發布新聞(不能自