利用阿里云邮件推送免费发邮件,每天免费200封,速度快,还高大上

1447 篇文章 12 订阅
1447 篇文章 7 订阅

之前尝试过用python,golang写的通过qq邮箱发送邮件

用过后,感觉有几个问题:

1. 不稳定,经常发不出去

2. 速度慢,过了好几分钟才收到

3. 不够档次,比如你一个公司,给用户发送注册邮件,人家一看是一个qq邮箱发来的,瞬间low掉渣。

这里推荐用阿里云的邮件推送哈。以下分享下几个步骤:

1. 注册阿里云账号,开通邮件推送。

2. 准备一个域名,随便买一个就行,最低8元一年

3. 进入控制台,配置。

新建域名

配置域名:

 怎么配置,官网写的很清楚,只需要按照要求,添加一条条的记录到域名的dns。

如果你的域名是在阿里云买的,就在阿里云的域名控制台,dns里配置:

如果你是腾讯云买的域名,这里有个坑!!!

 配置文档里,需要配置主机记录

 在腾讯云里:

解决方法:这里填:@

配置完了,点验证,会提示变成通过。

配置发件地址:

 最后一步,设置密码:

终于到了,可以发送邮件的时候了,上python代码:

# -*- coding:utf-8 -*-import smtplibimport emailfrom email.mime.multipart import MIMEMultipartfrom email.mime.text import MIMEText def SendMail(to_email,title,content):    EMAIL_FROM='admin@xxx.com' #刚才配置的发信地址    EMAIL_HOST_PASSWORD="xxx"  #密码    EMAIL_HOST, EMAIL_PORT='smtpdm.aliyun.com',80    # 自定义的回复地址    replyto = EMAIL_FROM    msg = MIMEMultipart('alternative')    msg['Subject'] = title    msg['From'] = '%s <%s>' % ("admin", EMAIL_FROM)    msg['To'] = '%s <%s>' % ("client", to_email)     msg['Reply-to'] = replyto    msg['Message-id'] = email.utils.make_msgid()    msg['Date'] = email.utils.formatdate()    textplain = MIMEText('{}'.format(content), _subtype='plain', _charset='UTF-8')    msg.attach(textplain)     try:        client = smtplib.SMTP()        client.connect(EMAIL_HOST, EMAIL_PORT)        # 开启DEBUG模式        client.set_debuglevel(0)        client.login(EMAIL_FROM, EMAIL_HOST_PASSWORD)        client.sendmail(EMAIL_FROM, [to_email], msg.as_string())        client.quit()        return True    except smtplib.SMTPConnectError as e:        error_msg= '邮件发送失败,连接失败'    except smtplib.SMTPAuthenticationError as e:        error_msg = '邮件发送失败,认证错误:'    except smtplib.SMTPSenderRefused as e:        error_msg = '邮件发送失败,发件人被拒绝:'    except smtplib.SMTPRecipientsRefused as e:        error_msg = '邮件发送失败,收件人被拒绝:'    except smtplib.SMTPDataError as e:        error_msg = '邮件发送失败,数据接收拒绝:'    except smtplib.SMTPException as e:        error_msg = '邮件发送失败, {}'.format(e.message)    except Exception as e:        error_msg = '邮件发送异常, {}'.format(str(e))    print(error_msg)    return Falseif __name__ == '__main__':    SendMail("xxxxxx@qq.com","title","content")

测试下,效果是这样的,看起来高大上~:

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值