python3 发送SMTP邮件,邮箱格式合法校验

1. 邮箱格式合法性校验

import re
def checkemail(email):
    reg="\w+[@][a-zA-Z0-9_]+(\.[a-zA-Z0-9_]+)+"
    result=re.findall(reg,email)
    if result:
        return True   #邮箱合法
    else:
        return False    #邮箱不合法

2. 发送邮件方法

import smtplib
from email.mime.text import MIMEText
from email.header import Header
import re

# 第三方 SMTP 服务
mail_host = "smtp.XXX.net"  # 设置发送邮箱的服务器
mail_user = "XXX@qq.mail"  # 发送邮箱的用户名
mail_pass = "发送邮箱的密码"  # 发送邮箱的密码
sender = 'XXX@qq.mailc'

def send_email(receivers, message_cont, sender=sender, mail_host=mail_host, mail_user=mail_user, mail_pass=mail_pass):
    message = MIMEText(message_cont, 'plain', 'utf-8')

    message['From'] = Header(mail_user)
    message['To'] = Header(receivers[0])
    subject = '测试短信'
    message['Subject'] = Header(subject, 'utf-8')
    try:
        smtpObj = smtplib.SMTP()
        smtpObj.connect(mail_host, 25)  # 25 为 SMTP 端口号
        smtpObj.login(mail_user, mail_pass)
        smtpObj.sendmail(sender, receivers, message.as_string())
        print("邮件发送成功")
    except smtplib.SMTPException:
        print("Error: 无法发送邮件")

3. 调用邮箱校验,合法邮箱发短信

# 接收邮件,可设置为你的QQ邮箱或者其他邮箱
email = "XXX@qq.mail"
if sys_format.checkemail(email):
   receivers = [email]
   message_cont = "【XXX测试】\n\n尊敬的用户,这是一条测试短信!"
   send_email(receivers, message_cont)

发送成功,接收如图:

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值