云顶娱乐手机官网-云顶娱乐网址

热门关键词: 云顶娱乐手机官网,云顶娱乐网址

php利用smtp类实现电子邮件发送_php技巧_脚本之家

2019-11-25 作者:编辑程序   |   浏览(76)

正文共享的主意简便易懂,希望可以援救到大家。

比如详细明白Python中smtplib模块管理电子邮件的行使,pythonsmtplib

在依照互连网的施用中,程序平常索要活动地发送电子邮件。如:一个网址的注册系统会在顾客注册时发送黄金时代封邮件来认同挂号;当客商忘记登入密码的时候,通过邮件来收复密码。smtplib模块是python中smtp(简单邮件传输契约)的客户端完结。大家可以利用smtplib模块,轻易的出殡电子邮件。下边包车型大巴事例用了不到十行代码来发送电子邮件:  

#coding=gbk 

import smtplib 

smtp = smtplib.SMTP() 
smtp.connect("smtp.yeah.net", "25") 
smtp.login('用户名', '密码') 
smtp.sendmail('[email protected]', '[email protected]', 'From: [email protected]/r/nTo: [email protected]/r/nSubject: this is a email from python demo/r/n/r/nJust for test~_~') 
smtp.quit()

这么些事例够简单吧^_^!上面详细介绍stmplib模块中的类和方法。
smtplib.SMTP([host[, port[, local_hostname[, timeout]]]])

SMTP类构造函数,表示与SMTP服务器之间的接连,通过这一个三番五次大家能够向smtp服务器发送指令,试行相关操作(如:登入、发送邮件卡塔 尔(英语:State of Qatar)。该类提供了好些个艺术,就要下边介绍。它的兼具参数都以可选的,在那之中host参数表示smtp服务器主机名,上边例子中的smtp主机为”smtp.yeah.net”;port表示smtp服务的端口,默许是25;假设在开创SMTP对象的时候提供了那四个参数,在发轫化的时候会自动调用connect方法去老是服务器。

smtplib模块还提供了SMTP_SSL类和LMTP类,对它们的操作与SMTP基本生龙活虎致。

smtplib.SMTP提供的办法:

SMTP.set_debuglevel(level)

安装是不是为调节和测量检验形式。默感到False,即非调节和测量检验方式,表示不出口任何调节和测量试验消息。

SMTP.connect([host[, port]])

接连几天到钦定的smtp服务器。参数分别表示smpt主机和端口。注意: 也足以在host参数中钦定端口号(如:smpt.yeah.net:25卡塔 尔(阿拉伯语:قطر‎,那样就没需要给出port参数。

SMTP.docmd(cmd[, argstring])

向smtp服务器发送指令。可选参数argstring表示指令的参数。下边包车型客车事例完全通过调用docmd方法向服务器发送指令来实现邮件的发送(在smtp.yeah.net邮件服务器上考察通过。别的邮件服务器并未有试过卡塔尔:  

import smtplib, base64, time 
userName = base64.encodestring('from').strip() 
password = base64.encodestring('password').strip() 
smtp = smtplib.SMTP() 
smtp.connect("smtp.yeah.net:25") 
print smtp.docmd('helo', 'from') 
print smtp.docmd('auth login') 
print smtp.docmd(userName) 
print smtp.docmd(password) 
print smtp.docmd('mail from:', '<[email protected]>') 
print smtp.docmd('rcpt to:', '<[email protected]>') 
#data 指令表示邮件内容 
print smtp.docmd('data') 
print smtp.docmd(
'''''from: [email protected] 
to: [email protected] 
subject: subject 
email body 
. 
'''
) 
smtp.quit()

SMTP.helo([hostname])

行使”helo”指令向服务器确认身份。约等于告诉smtp服务器“小编是什么人”。
SMTP.has_extn(name)

剖断钦赐名称在服务器邮件列表中是否存在。出于安全构思,smtp服务器往往屏蔽了该指令。
SMTP.verify(address)

认清钦定邮件地址是还是不是在服务器中设有。出于安全着想,smtp服务器往往屏蔽了该指令。
SMTP.login(user, password)

登录到smtp服务器。现在大概具备的smtp服务器,都不得不在认证客户音讯合法之后才允许发送邮件。
SMTP.sendmail(from_addr, to_addrs, msg[, mail_options, rcpt_options])

发送邮件。这里要留神一下第八个参数,msg是字符串,表示邮件。大家精晓邮件日常由标题,发信人,收件人,邮件内容,附属类小零件等组合,发送邮件的时候,要留意msg的格式。那些格式正是smtp公约中定义的格式。在上头的例子中,msg的值为:

 

'''''From: [email protected] 
To: [email protected] 
Subject: test 

just for test'''

这么些字符串的的意趣表示邮件发件人为”[email protected]”,收件人为” [email protected]”,邮件标题为”test”,邮件内容为”just for test”。留意的您可能会疑窦:假如要发送的邮件内容很复杂,包涵图表、录像、附属类小零部件等剧情,遵照MIME的格式来拼接字符串,将是风流倜傥件非常困苦的事。不用担心,python已经思量到了那点,它为大家提供了email模块,使用该模块可以轻易的出殡和埋葬带图片、录像、附件等复杂剧情的邮件。在介绍完smtplib模块然后,小编会简介email模块的中央选拔。
SMTP.quit()

断开与smtp服务器的接连,相当于发送”quit”指令。
email及其相关子模块

emial模块用来拍卖邮件新闻,包罗MIME和别的依照HighlanderFC 2822 的音信文书档案。使用那么些模块来定义邮件的剧情,是特别轻易的。上面是某些常用的类:

  • class email.mime.multipart. MIMEMultipart: 五个MIME对象的联谊。
  • class email.mime.audio. MIME奥迪(Audi)o: MIME音频对象。
  • class email.mime.image. MIMEImage: MIME二进制文件对象。
  • class email.mime.text. MIMEText: MIME文本对象。

看下边的表明大概会感觉云里雾里,其实笔者对smtp, MIME的精晓也很肤浅。但在大部分时候,我们只要会用就足以了。上面是多少个总结的例证来演示如何运用那个类来发送带附属类小零器件的邮件:  

#coding=gbk 
import smtplib, mimetypes 
from email.mime.text import MIMEText 
from email.mime.multipart import MIMEMultipart 
from email.mime.image import MIMEImage 

msg = MIMEMultipart() 
msg['From'] = "[email protected]" 
msg['To'] = '[email protected]' 
msg['Subject'] = 'email for tesing' 

#添加邮件内容 
txt = MIMEText("这是邮件内容~~") 
msg.attach(txt) 

#添加二进制附件 
fileName = r'e:/PyQt4.rar' 
ctype, encoding = mimetypes.guess_type(fileName) 
if ctype is None or encoding is not None: 
 ctype = 'application/octet-stream' 
maintype, subtype = ctype.split('/', 1) 
att1 = MIMEImage((lambda f: (f.read(), f.close()))(open(fileName, 'rb'))[0], _subtype = subtype) 
att1.add_header('Content-Disposition', 'attachment', filename = fileName) 
msg.attach(att1) 

#发送邮件 
smtp = smtplib.SMTP() 
smtp.connect('smtp.yeah.net:25') 
smtp.login('from', '密码') 
smtp.sendmail('[email protected]', '[email protected]', msg.as_string()) 
smtp.quit() 
print '邮件发送成功'

是否一点也不细略。轻便正是美,用起码的代码把难题消释,那正是Python。更加多关于smtplib的新闻,请参谋Python手册 smtplib模块。

在借助互连网的采用中,程序平常必要活动地发送电子邮件。如:一个网址的注...

下面是为大家提供的源码下载地址:php利用smtp类完成电子邮件发送

smtp类发送邮件的法子既简约又安静,几行轻松的陈设就会发邮件,是否很期望的试一试呢!

".$_POST['content']."";//邮件内容 $mailtype = "HTML";//邮件格式,TXT为文本邮件 //************************ 配置信息 **************************** $smtp = new smtp($smtpserver,$smtpserverport,true,$smtpuser,$smtppass);//这里面的一个true是表示使用身份验证,否则不使用身份验证. $smtp->debug = false;//是否显示发送的调试信息 $state = $smtp->sendmail($smtpemailto, $smtpusermail, $mailtitle, $mailcontent, $mailtype); echo ""; if{ echo "对不起,邮件发送失败!请检查邮箱填写是否有误。"; echo "点此返回"; exit(); } echo "恭喜!邮件发送成功!!"; echo "点此返回"; echo "";?>

本文由云顶娱乐手机官网发布于编辑程序,转载请注明出处:php利用smtp类实现电子邮件发送_php技巧_脚本之家

关键词: