> ## Content Index
> Fetch the complete content index at: https://nigzu.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# Ghost进阶：邮箱配置避雷
- URL: https://nigzu.com/ghost-email/
- Published: 2022-08-27T05:22:21.000Z
- Updated: 2025-05-03T17:47:49.000Z
- Author: 宁嘉
- Tags: Ghost, 自托管

更新时间：2022年8月28日00点02分

---

### 发送邮件类型

Ghost站点产生[两种邮件类型](https://ghost.org/docs/faq/mailgun-newsletters/?ref=nigzu.com)，一种是通过SMTP发送的事务性邮件，用于会员注册/登录确认、管理员密码重置等；另一种是通过API发送的批量型邮件，用于Newsletter新闻通讯：文章批量推送到订阅会员的邮箱。目前批量邮箱仅支持Mailgun的API，尽管官方表示后续将提供更多接入，但这是一个长期以来就有的需求，恐怕短时间内不会得到开发。

如果要用Mailgun以外的邮箱发批量邮件，只能结合[Zapier](https://ghost.org/integrations/?tag=email&ref=nigzu.com)或自己开发外件，这里有一个[例子](https://ksick.medium.com/using-amazon-ses-to-send-mails-from-a-ghost-blog-2caaedab62fd?ref=nigzu.com)，需要许多额外的工作。

### 为什么不能用SMTP发送批量邮件？

首先一般邮箱服务商有限制，不允许用户同时发送大量邮件；另一方面大多数收件人的邮箱也会过滤从未知域名、未知IP发送的大量邮件，甚至包括合法的电子邮件服务提供商，一经检测大量发送，会被当作垃圾邮件，并将IP拉入黑名单。这是一种保护措施。

### Mailgun开通过程中遇到的问题

[Mailgun](https://www.mailgun.com/?ref=nigzu.com)是一家提供发送、接收和跟踪电子邮件的服务商，每个月有发送1000封的免费额度，我在注册过程中碰到一些问题：

1. Mailgun账号激活需要手机号验证，+86号码无法接收到验证码，联系服务人员可以帮助解决；
2. Mailgun初始在一个沙盒域中，只能向已验证的邮箱地址发送测试邮件，用户仍然需要绑定自己的域名（配置DNS记录）和信用卡才能离开沙盒；
3. 对于新注册的账号，Mailgun也许会有一些额外的限制：一个小时只能发送100封，联系服务人员，提供一些描述：包括如何使用邮箱、用户的网站信息等，以及保持一段时间正常的发信记录才能解除限制。
4. Mailgun的注册优惠有试用30天基础计划，可以免费发送5000封邮件，**提醒一下**一旦绑定信用卡，将自动切换为付费计划并在30天到期后进行预付款，我就这样被扣了十五刀:( 可以手动降级到Flex Plans，每个月1000封以下免费，超出每1000封/1美元。
5. Mailgun发件区域有欧洲和美国两个选项，注意在Ghost设置API时也要切换到对应区域。
6. **尤其值得一提的是，163邮箱收不到邮件，不仅收不到Mailgun邮件，很多国外邮箱发的都收不到。**

Mailgun邮箱也可用来配置SMTP邮箱，由于非固定公网IP通常会被列入DNSBL（域名邮箱黑名单）中，非固定公网IP托管的邮箱不能稳定的发送邮件，Mailgun可以用作域名邮箱的中继发件服务器，这方面Amazon SES是更好的选择，每个月62000 封邮件的额度，遗憾的是，Ghost没有兼容。

### SMTP事务邮箱设置的问题

假设你已配置了SMTP邮箱，例如：

```json
"mail": {
	"from": "'Name' <name@example.com>",
	"transport": "SMTP",
	"options": {
		"service": "Email",
		"host": "YOUR-SERVER-NAME",
		"port": 465,
		"secure": true,
		"auth": {
			"user": "YOUR-SMTP-ACCESS",
			"pass": "PASSWORD"
		}
	}
}

```

可以是任何支持SMTP的邮箱，Outlook、163mail、域名邮箱...

初次安装Ghost，首次访问从注册管理员账号开始，Ghost会用上述`name@example.com`地址向注册邮箱发送一封激活链接，到目前为止一切正常。

但后续会员账户的激活或登录等等事务邮件，后端并不会从这个地址发送，而是默认`noreply@host.name.tld`，后缀来自于配置中的主站url，假使已修改为`youname@outlook.com`，后端将会用`noreply@outlook.com`发送一封确认的链接，SMTP无法验证上述邮箱，发送失败。这个问题很早以前就有[反馈](https://github.com/TryGhost/Ghost/issues/12802?ref=nigzu.com)了，但一直没有得到修复，我认为是开发团队有意为之的，如果博主使用第三方邮箱，例如outlook、则`noreply@outlook.com`显然不是博主拥有的，客观上限制了博主用这类服务商的邮箱当作博客事务性邮箱；如果已有自己的专属域名邮箱（企业邮箱），那只需要在自己的服务器添加noreply这个别名即可，也无怪乎官方文档里只有了Mailgun、Amazon SES这两种配置的说明，有一定的误导性，容易让人误以为只要支持stmp的邮箱都可以。

---

> Ghost是一套开源的（博客）建站平台，这是一个持续更新的系列，用来列举一些[官方文档](https://ghost.org/docs/introduction/?ref=nigzu.com)和公开网络上尚未详细说明的问题与解决办法，您可以用标签 [#Ghost](https://nigzu.com/tag/ghost-tag/) 或搜索找到所有相关的文章。