Resend为免费用户提供了每天 100 条的发信业务,这对于我们普通用户来说绰绰有余
注册 Resend 账号
之后点击Get Started,进行注册,注册完成之后进入设置界面
申请 API Key 并发信
Resend是采用API的方式进行验证的,我们需要申请一个API Key使用Resend的服务:
申请好之后会变成绿色:
你可以点击下面的Send email测试一下发信功能:
此时你应该完成了以下步骤:
添加自己的域名
如果你有自己的域名的话,你可以创建自己的域名邮箱,诸如 @juniortree.com
点击Add a domain:
输入你自己的域名:(不必太纠结你选择的区域,你没氪金就只有一个地方可以选)
下面请到你的域名托管商添加 DNS 记录,你最少要添加三个DKIM和SPF记录,DMARC记录建议添加,可以增加邮件的可到达性(减少被丢到垃圾邮件的概率)
之后点击Verifty验证DNS是否解析成功
发送邮件
Resend为我们提供了很方便的接口,让我们能通过诸如Node. Js、Ruby、PHP、Python、Go、Rust和Java等这些编程语言来调用接口实现发信功能
我们先来到左侧栏的Emails,点击API:
以下是基于Python的示例:
import os
import resend
# 填入你自己的API Key
resend.api_key = "re_123456789"
```
# 这一部分是发送附件的 我们单发测试短信可以删除
f: bytes = open(
os.path.join(os.path.dirname(__file__), "../resources/invoice.pdf"), "rb"
).read()
attachment: resend.Attachment = {"filename": "invoice.pdf", "content": list(f)}
```
params: resend.Emails.SendParams = {
"from": "onboarding@resend.dev", # 设置为你自己域名邮箱 随便哪个都行 比如我设置的是test@juniortree.com
"to": ["delivered@resend.dev"], # 设置为你发信的邮箱
"subject": "hi",
"html": "<strong>hello, world!</strong>",
"headers": {
"X-Entity-Ref-ID": "123456789"
},
"attachments": [attachment], # 这里也是发送附件 如果你删除了上面发送附件的部分 这个也一并删除
}
email = resend.Emails.send(params)
print(email)
如果你是发送这样简单的测试邮箱的话,你的邮件有可能会被丢入垃圾邮件(因为内容过于简单了)
以下是发送成功的示例:
设置 SMTP 发送
如果你想要使用SMTP服务器发送的话,请回到左侧栏,选择Setting:
点击SMTP即可,主机名、端口、用户名和密码一应俱全,按照要求填写即可