python 邮件发送

一.SMTP发送邮件
SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。
Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件。

实例:

#导入模块
import email.mime.multipart
import email.mime.text
import smtplib

#首先创建一个消息对象:
msg = email.mime.multipart.MIMEMultipart()
#指明邮件的发件人
msg['from'] = '13612093770@163.com'
#指明邮件的收件人
msg['to'] =  '13612093770@163.com'
#指明邮件的主题
msg['subject'] = 'six god !'

#定义发送信息的内容
context = '''
    <h1>hello</h1>
    你好,
     这是一封自动发送的邮件。
    '''
text = email.mime.text.MIMEText(_text=context, _subtype="html")
                #_subtype这个参数决定了你是以html解析的形式去发送,还是以text的形式去发送。(text形式则不写此参数)
msg.attach(text)

#创建一个smtp对象
em = smtplib.SMTP_SSL()
连接smtp服务器,端口
em.connect("smtp.163.com", 465)
#登录自己邮箱账号
em.login("13612093770@163.com", 'password')
#调用发送消息函数,参数:发件人,收件人,消息内容
em.sendmail(from_addr='13612093770@163.com', to_addrs='13612093770@163.com', msg=msg.as_string())
#关闭连接
em.quit()

运行之后查看邮箱:可见消息内容已经按照HTML格式解析发送了。


我们将_subtype="html"此参数删除,再次发送:可以看见直接以文本形式发送了。



二.使用yagmail模块发送邮件

安装模块

pip install yagmail

实例:

#导入模块import yagmail as yagmail

#连接邮箱服务器,即发件人
xinxi = {
    "user":"13612093770@163.com",
    "password":"password",
    "host":"smtp.163.com",
    "port":"465"
}#定义收件人
to = "13612093770@163.com"#定义邮件主题
subject ="测试"#定义邮件内容
contents = "demaixya"#连接邮箱服务器
email = yagmail.SMTP(**xinxi)#发送邮件,参数:收件人,主题,内容,附件,抄送cc=“xxx.com”(此处没进行抄送)
email.send(to=to,subject=subject,contents=contents,attachments="demon1.py")

运行之后查看邮件:

给多个用户发送邮件,只需要将接收邮箱 变成一个list即可。

#定义收件人
to = ["13612093770@163.com","xxx.com"]

发送带多个附件的邮件,也是变成一个list

["d://log.txt","d://baidu_img.jpg"]


Python邮件代发是指使用Python编程语言来发送电子邮件。Python提供了一个内置的smtplib模块,可以用于与SMTP服务器进行通信,并发送电子邮件。 要使用Python发送电子邮件,首先需要导入smtplib模块,并创建一个SMTP对象。然后,通过调用SMTP对象的方法来设置SMTP服务器的地址、端口号、登录凭据等信息。接下来,可以使用SMTP对象的sendmail方法来发送邮件。 以下是一个简单的示例代码,演示了如何使用Python发送电子邮件: ```python import smtplib from email.mime.text import MIMEText def send_email(sender, receiver, subject, message): # 设置SMTP服务器地址和端口号 smtp_server = 'smtp.example.com' smtp_port = 587 # 设置登录凭据 username = 'your_username' password = 'your_password' # 创建SMTP对象 smtp_obj = smtplib.SMTP(smtp_server, smtp_port) # 发起与SMTP服务器的连接 smtp_obj.starttls() # 登录SMTP服务器 smtp_obj.login(username, password) # 创建邮件内容 email_message = MIMEText(message) email_message['From'] = sender email_message['To'] = receiver email_message['Subject'] = subject # 发送邮件 smtp_obj.sendmail(sender, receiver, email_message.as_string()) # 关闭与SMTP服务器的连接 smtp_obj.quit() # 调用函数发送邮件 send_email('sender@example.com', 'receiver@example.com', 'Hello', 'This is a test email.') ``` 请注意,上述示例代码中的SMTP服务器地址、端口号、登录凭据等信息需要根据实际情况进行修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值