python的发送邮件代 import poplib # 输入邮件地址, 口令和POP3服务器地址

python的发送邮件代 import poplib # 输入邮件地址, 口令和POP3服务器地址,第1张

不是很理解,你是要把收邮件改成发邮件吗

发邮件用的是smtp服务,然后填的是smtp服务器地址,然后是一个收件人地址

import smtplib

然后发邮件的示例代码如下

#!/usr/bin/python
# -- coding: UTF-8 --
 
import smtplib
from emailmimetext import MIMEText
from emailutils import formataddr
 
my_sender='429240967@qqcom'    # 发件人邮箱账号
my_pass = 'xxxxxxxxxx'              # 发件人邮箱密码
my_user='429240967@qqcom'      # 收件人邮箱账号,我这边发送给自己
def mail():
    ret=True
    try:
        msg=MIMEText('填写邮件内容','plain','utf-8')
        msg['From']=formataddr(["FromRunoob",my_sender])  # 括号里的对应发件人邮箱昵称、发件人邮箱账号
        msg['To']=formataddr(["FK",my_user])              # 括号里的对应收件人邮箱昵称、收件人邮箱账号
        msg['Subject']="菜鸟教程发送邮件测试"                # 邮件的主题,也可以说是标题
 
        server=smtplibSMTP("smtpqqcom", 25)  # 发件人邮箱中的SMTP服务器,端口是25
        serverlogin(my_sender, my_pass)  # 括号中对应的是发件人邮箱账号、邮箱密码
        serversendmail(my_sender,[my_user,],msgas_string())  # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件
        serverquit()  # 关闭连接
    except Exception:  # 如果 try 中的语句没有执行,则会执行下面的 ret=False
        ret=False
    return ret
 
ret=mail()
if ret:
    print("邮件发送成功")
else:
    print("邮件发送失败")

1、准备两个邮箱帐号,一个是常用的(接收端),另一个可以注册网易163邮箱或者foxmail邮箱也可(发送端),本次我使用两个QQ邮箱进行演示。

2、在邮箱的设置

3、账户中开启SMTP功能,如下图:

4、点击生成授权码,按照d出窗口的提示发送短信,发送后单击我已发送按钮。

5、将生成的授权码复制下来以备接下来使用。如下图:

6、我们来编辑代码:

from emailheader import Header

from emailmimetext import MIMEText

from emailutils import parseaddr,formataddr

import smtplib

def _format_addr(s):  

name,addr = parseaddr(s)  

return formataddr((Header(name,'utf-8')encode(),addr))

#发件人地址

from_addr = '1010@qqcom'

#密码刚才复制的邮箱的授权码

password = 'ug'

#收件人地址

to_addr =  '1028@qqcom'

#邮箱服务器地址

smtp_server = 'smtpqqcom'

#设置邮件信息

msg = MIMEText('Python爬虫运行异常,异常信息为遇到>

msg['From'] = _format_addr('Python爬虫一号<%s>'%from_addr)

msg['To'] = _format_addr('管理员<%s>'%to_addr)

msg['Subject'] = Header('一号爬虫运行异常','utf-8')encode()

#发送邮件

server = smtplibSMTP_SSL(smtp_server,465)

#打印出和SMTP服务器交互的所有信息

serverset_debuglevel(1)

#登录SMTP服务器

serverlogin(from_addr,password)

#sendmail():发送邮件,由于可以一次发给多个人,所以传入一个list邮件正文是一个str,as_string()把MIMEText对象变成str。

serversendmail(from_addr,to_addr,msgas_string())serverquit()print('邮件发送成功!')

7、登录接收端邮箱,查看是否发送成功,如下图:

8、如果能成功收到邮件的话就说明完成了。

邮件传输的SMTP协议,并根据该协议,利用了Python的‘smtplib’和‘email‘模块,完成邮件的成功发送。
简单搭的报警邮件服务器没有UI,用FOXMAIL登录获取邮件头删除过慢,写个python脚本快速清空邮件
#!/usr/bin/python
import poplib
def main():
uugame=poplibPOP3('mailurlcom',110)
uugameuser('dicc@urlcom')
uugamepass_('dicc1234')
print uugamestat()
mailmax=uugamestat()[0]
for i in range(mailmax):
uugamedele(i+1)
print uugamestat()
uugamequit()
if __name__=="__main__":
main()

引用头文件
#!/usr/bin/env python
#--coding:utf-8--
import smtplib
import os
from emailmimetext import MIMEText
from emailmimemultipart import MIMEMultipart
from emailmimebase import MIMEBase
from email import encoders
创建“连接邮件服务器”函数
def smtp_connect( smtp_server, account, password, target ):
global smtp
global e_smtpserver
global e_account
global e_password
global e_target
global msg
e_smtpserver = smtp_server
e_account = account
e_password = password
e_target = target
try:
smtp = smtplibSMTP()
smtpconnect(e_smtpserver)
smtplogin(e_account, e_password)
except Exception, e:
print 'Mail connect failed: %s' % e
exit( -1 )
msg = MIMEMultipart('related')
创建“写邮件内容”函数
def smtp_set_content( subject, main_body ):
global msg
msg['Subject'] = subject
body = MIMEText( main_body, 'plain', 'utf-8' )
msgattach( body )
创建“添加附件”函数
def smtp_set_attachment( file_path ):
global msg
part = MIMEBase( 'application', 'octet-stream' )
partset_payload( open(file_path,'rb')read() )
encodersencode_base64(part)
partadd_header( 'Content-Disposition', 'attachment; filename=%s' % file_pathsplit('/')[-1] )
msgattach(part)
创建“发送邮件”函数
def smtp_send():
global smtp
global e_smtpserver
global e_account
global e_password
global e_target
global msg
try:
smtpsendmail( e_account, e_target, msgas_string() )
except Exception, e:
print 'Mail send Failed: %s' % e
exit( -1 )
使用示例
if __name__ == '__main__':
smtp_connect( 'smtpxxxxcomcn', 'xxxx@xxxxcomcn', 'password',
'xxxx@xxxxcomcn' )
smtp_set_content( 'Test subject', 'Test_content' )
smtp_set_attachment( osgetcwd() + '/mailpy' )
smtp_send()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/13507345.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-21
下一篇 2023-08-21

发表评论

登录后才能评论

评论列表(0条)

保存