当前位置: 首页 > 后端技术 > Python

使用SendGrid发送免费电子邮件

时间:2023-03-26 19:01:27 Python

1。概述SendGrid免费账户每天可以发送100封邮件,虽然比Mailgun每月10000封邮件的免费配额少,但是盛城注册不需要绑定信息卡。集成SendGrid的方式有两种,SMTP和API。提供Python、Java、GO、Node.js、Ruby、PHP、C#等语言的官方API库。2.reCAPTCHA验证会显示在注册注册页面。如果没有显示,则需要科学上网。3.集成测试本文示例使用Python3.8发送邮件。3.1.通过API库集成注册后,在[apikeys](https://app.sendgrid.com/sett...)设置页面创建一个应用程序和APIKEY。Pythonapi库库库库sendgrid-python,$pip安装:$pipinstallsendgrid:importsendgridimportosfromsendgrid.helper.helpers.mailimportimport*defsend_via_api():send_via_api():=sendgrid.SendGridAPIClient(api_key=SENDGRID_API_KEY)from_email=Email("test@example.com")to_email=To("jiang.haiyun@qq.com")subject="用SendGrid发送很有趣"content=Content("text/plain","而且在任何地方都很容易做,即使使用Python")response.status_code)print(response.body)print(response.headers)send_via_api()202b''服务器:nginxDate:星期三,2020年3月18日04:46:11GMTContent-Length:0Connection:closeX-Message-Id:yrcMLevLRju8p9cEz4cUFgAccess-控制允许来源:https://sendgrid.api-docs.ioAccess-Control-Allow-Methods:POSTAccess-Control-Allow-标头:授权、内容类型、代表、x-sg-elas-aclAccess-Control-Max-Age:600X-No-CORS-Reason:https://sendgrid.com/docs/Classroom/在Basics/API/cors.html中获取到状态码202,表示服务器收到了发送邮件的请求。3.2.通过SMTP集成注册后,在SMTP配置页面上创建一个API密钥。创建后会有SMTP相关的配置信息,如:Serversmtp。sendgrid.netPorts25,587(forunencrypted/TLSconnections)465(forSSLconnections)UsernameapikeyPasswordyour_api_key_value之后就可以连接SMTP服务器smtp.sendgrid.net发送邮件了,这里的用户名是apikey,密码是your_api_key_value。测试如下:importsmtplibfromemail.mime.textimportMIMETextfromemail.headerimportHeadederdefsend_via_smpt():from_addr="test@example.com"to_addr="test@example.com"password=SENDGRID_API_KEY="YOUR_API_KEY_VALUE"smtp_server="smtp.sendgrid.net"username="apikey"subject="用SendGrid发送很有趣"msg=MIMEText('你好,用Python发送...','plain','utf-8')msg??['Subject']=Header(subject,'utf-8')server=smtplib.SMTP(smtp_server,587)server.set_debuglevel(1)server.login(用户名,密码)server.sendmail(from_addr,[to_addr],msg.as_string())server.quit()send_via_smpt()资源SendGridsendgrid-python