1. 程式人生 > >PHP使用gmail發郵件

PHP使用gmail發郵件

實驗室要舉辦一個會議,要我做一個會議的網站。使用了開源的openconf,十分省事。但發郵件簡單的使用了PHP的mail函式,沒有經過SMTP認證,傳送的郵件很可能出現在對方的垃圾箱裡,甚至會被退信。搜尋了一下有很多PHP類庫支援利用SMTP傳送郵件,比如PHPMailer。

下面是利用PHPMailer實現的一個函式以及簡單的測試程式碼。【注意,執行此函式需要openconf原始碼根目錄下的class.phpmailer.phpclass.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需要做的更改:

  1. 將上述檔案gmail.php放在opencof根目錄
  2. 修改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));
        }    


相關推薦

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.使用管理員賬戶發布新聞(不能自