# Configure QQ Mail sending, email arrives normally, but Discourse reports errors and sends duplicates

**URL:** https://meta.discourse.org/t/qq-discourse/392616
**Category:** Self-hosting
**Created:** [January 3, 2026, 1:24pm UTC](https://meta.discourse.org/t/qq-discourse/392616 "2026-01-03T13:24:48Z")
**Posts on this page:** 10
**Page:** 1

<div class="post-metadata">

### Author: ![qi\_lu](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/qi_lu/32/536755_2.png) [@qi\_lu](https://meta.discourse.org/u/qi_lu)
#### Post date: [January 3, 2026, 1:24pm UTC](https://meta.discourse.org/t/qq-discourse/392616/1 "2026-01-03T13:24:48Z")

</div>

# The installation tutorial I initially followed:

> **[零基础部署Discourse开源社区论坛网站，Discourse论坛搭建教程\_哔哩哔哩\_bilibili](https://www.bilibili.com/video/BV1f311BrEdp/?spm_id_from=333.1007.top_right_bar_window_history.content.click&vd_source=d99958caa369a743572b9a7d975950b2)**
>
> Linux+宝塔+Docker+Discourse 零基础快速搭建论坛网站，Discourse是国外最受欢迎的开源论坛程序。--------------------教程文章：https://blog.zeruns.com/archives/919.html演示站：https://bbs.eeclub.top/--------------------雨云优惠注册地址：https://rain.zer, 视频播放量 6437、弹幕量 9、点赞数 31、投硬币枚数 5、收藏人数 63、转发人数 1,...

# My settings:

```plaintext
  DISCOURSE_DEVELOPER_EMAILS: 'xxx@gmail.com'

  ## TODO: Configure the mail server
  ## (used for validation of new accounts, notifications, digests, etc.)
  ## required: hostname of the SMTP mail server used to send mail
  DISCOURSE_SMTP_ADDRESS: smtp.qq.com
  ## uncomment to set the port to something other than the default (25)
  DISCOURSE_SMTP_PORT: 587
  ## USER_NAME / PASSWORD required if the SMTP provider needs authentication
  ## WARNING: a '#' in the SMTP password can be misinterpreted; ensure it's inside string quotes, e.g.:
  ## DISCOURSE_SMTP_PASSWORD: "#pass#ord"
  DISCOURSE_SMTP_USER_NAME: xxx@qq.com
  DISCOURSE_SMTP_PASSWORD: "xxx"
  ## uncomment to enable implicit TLS at connection time, probably needed for using port 465
  #DISCOURSE_SMTP_FORCE_TLS: true
  ## uncomment to set the HELO/EHLO domain, only set if required by provider
  #DISCOURSE_SMTP_DOMAIN: discourse.example.com
  ## the address from which notifications are sent
  DISCOURSE_NOTIFICATION_EMAIL: xxx@qq.com
  ## uncomment to change server certificate verification
  #DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: peer # peer|none
  ## uncomment to override the authentication method
  DISCOURSE_SMTP_AUTHENTICATION: login # plain|login|cram_md5

```

# Situation 1:

When trying user registration, Discourse repeatedly sends emails.

 ![image](https://global.discourse-cdn.com/meta/original/4X/b/1/7/b1767c8218a9428c1e146b2eb8027fc15f0a2843.jpeg)  
I had to manually terminate the retry job in sidekiq.

# Situation 2:

I tried using the internal test email.  
An error prompt appears after clicking send.  
However, when I check my mailbox, the email successfully arrived.

 ![image](https://global.discourse-cdn.com/meta/original/4X/7/b/c/7bc8426d3d357f681130f632feb484024dc4d377.png)

If someone can help me solve this puzzle, I will continue to use QQ Mail, otherwise I will have to try changing the email provider.

---

<div class="post-metadata">

### Author: ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)
#### Post date: [January 3, 2026, 2:46pm UTC](https://meta.discourse.org/t/qq-discourse/392616/2 "2026-01-03T14:46:39Z")

</div>

Are there errors in `yourforum.com/logs`?

You problem reminds me of [我搭建了discourse，激活了账户邮箱，为什么还是每隔一会儿不断发送激活账户信息的邮件？？怎么配置解决这个bug - #23 by supermathie](https://meta.discourse.org/t/discourse-bug/384684/23) and [Duplicate registration email issue](https://meta.discourse.org/t/duplicate-registration-email-issue/384953)

---

<div class="post-metadata">

### Author: ![qi\_lu](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/qi_lu/32/536755_2.png) [@qi\_lu](https://meta.discourse.org/u/qi_lu)
#### Post date: [January 4, 2026, 2:19am UTC](https://meta.discourse.org/t/qq-discourse/392616/3 "2026-01-04T02:19:15Z")

</div>

Thank you for the reply. The two examples you provided are almost identical to my situation. I have carefully reviewed the relevant content, but I still cannot figure out how to solve it.

There are indeed errors in the logs.

 ![image](https://global.discourse-cdn.com/meta/original/4X/9/9/3/9930c2bdad3837cb44cd9e3816c766f3612f9705.png)  
 ![image](https://global.discourse-cdn.com/meta/original/4X/3/8/7/387eaabb6ad224869cd628d6e2569337242ba4f6.png)

---

<div class="post-metadata">

### Author: ![ducks](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ducks/32/518975_2.png) [@ducks](https://meta.discourse.org/u/ducks)
#### Post date: [January 5, 2026, 4:55pm UTC](https://meta.discourse.org/t/qq-discourse/392616/4 "2026-01-05T16:55:12Z")

</div>

howdy, sorry about that. I am working on fixing this to provide actual error messages. I will reply here when merged.

---

<div class="post-metadata">

### Author: ![ducks](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ducks/32/518975_2.png) [@ducks](https://meta.discourse.org/u/ducks)
#### Post date: [January 7, 2026, 4:40pm UTC](https://meta.discourse.org/t/qq-discourse/392616/6 "2026-01-07T16:40:49Z")

</div>

howdy again, the [PR](https://github.com/discourse/discourse/pull/36960) has been merged. once you have the updated code, please let me know if you are still not seeing a human readable error message.

---

<div class="post-metadata">

### Author: ![qi\_lu](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/qi_lu/32/536755_2.png) [@qi\_lu](https://meta.discourse.org/u/qi_lu)
#### Post date: [January 8, 2026, 4:06am UTC](https://meta.discourse.org/t/qq-discourse/392616/7 "2026-01-08T04:06:09Z")

</div>

This is the record of me running doctor  
[https://mathcollapse.20000816.xyz/ZWM4MzAzZjUzZDZjMGU1.txt](https://mathcollapse.20000816.xyz/ZWM4MzAzZjUzZDZjMGU1.txt)

This is the error log after the update

```plaintext
Message (2 copies reported)

SMTP Error Net::SMTPUnknownError with message: 
 response: 

Backtrace

/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.4/lib/active_support/broadcast_logger.rb:218:in `block in dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.4/lib/active_support/broadcast_logger.rb:217:in `map'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.4/lib/active_support/broadcast_logger.rb:217:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.4/lib/active_support/broadcast_logger.rb:129:in `error'
/var/www/discourse/lib/email/sender.rb:308:in `rescue in send'
/var/www/discourse/lib/email/sender.rb:295:in `send'
/var/www/discourse/lib/tasks/emails.rake:230:in `block in <main>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.3.1/lib/rake/task.rb:279:in `block in execute'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.3.1/lib/rake/task.rb:279:in `each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.3.1/lib/rake/task.rb:279:in `execute'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.3.1/lib/rake/task.rb:219:in `block in invoke_with_call_chain'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.3.1/lib/rake/task.rb:199:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.3.1/lib/rake/task.rb:199:in `invoke_with_call_chain'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.3.1/lib/rake/task.rb:188:in `invoke'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.3.1/lib/rake/application.rb:188:in `invoke_task'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.3.1/lib/rake/application.rb:138:in `block in top_level'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.3.1/lib/rake/application.rb:138:in `each'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.3.1/lib/rake/application.rb:138:in `block in top_level'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.3.1/lib/rake/application.rb:147:in `run_with_threads'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.3.1/lib/rake/application.rb:132:in `top_level'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.3.1/lib/rake/application.rb:83:in `block in run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.3.1/lib/rake/application.rb:214:in `standard_exception_handling'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.3.1/lib/rake/application.rb:80:in `run'
bin/rake:13:in `<top (required)>'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/cli/exec.rb:59:in `load'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/cli/exec.rb:59:in `kernel_load'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/cli/exec.rb:23:in `run'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/cli.rb:452:in `exec'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor/command.rb:28:in `run'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor.rb:538:in `dispatch'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/cli.rb:35:in `dispatch'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/vendor/thor/lib/thor/base.rb:584:in `start'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/cli.rb:29:in `start'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/exe/bundle:28:in `block in <top (required)>'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/lib/bundler/friendly_errors.rb:117:in `with_friendly_errors'
/usr/local/lib/ruby/gems/3.3.0/gems/bundler-2.6.4/exe/bundle:20:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'

```

Thank you for your help, but I still cannot resolve the QQ mailbox issue, so I had to switch to a Gmail account, and now it is completely normal.

---

<div class="post-metadata">

### Author: ![sniper756](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sniper756/32/545002_2.png) [@sniper756](https://meta.discourse.org/u/sniper756)
#### Post date: [January 8, 2026, 2:16pm UTC](https://meta.discourse.org/t/qq-discourse/392616/8 "2026-01-08T14:16:37Z")

</div>

QQ Mail doesn’t work, I’m having the same issue. Using Mailgun can solve the problem.

---

<div class="post-metadata">

### Author: ![ducks](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ducks/32/518975_2.png) [@ducks](https://meta.discourse.org/u/ducks)
#### Post date: [January 13, 2026, 10:09pm UTC](https://meta.discourse.org/t/qq-discourse/392616/9 "2026-01-13T22:09:11Z")

</div>

huh, dang, sorry about that not giving a better error but glad to hear you got it working regardless. I have opened an internal topic to investigate further and maybe update some docs to warn about this, but it seems to be a recurring issue with QQ Mail specifically. there have been multiple reports of QQ Mail causing this same issue over the years.

---

<div class="post-metadata">

### Author: ![xu2](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/xu2/32/539078_2.png) [@xu2](https://meta.discourse.org/u/xu2)
#### Post date: [January 14, 2026, 12:59pm UTC](https://meta.discourse.org/t/qq-discourse/392616/10 "2026-01-14T12:59:45Z")

</div>

It seems this is a common problem with QQ Mail! It’s not a Discourse setting issue.

---

<div class="post-metadata">

### Author: ![ducks](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ducks/32/518975_2.png) [@ducks](https://meta.discourse.org/u/ducks)
#### Post date: [January 22, 2026, 6:18pm UTC](https://meta.discourse.org/t/qq-discourse/392616/11 "2026-01-22T18:18:11Z")

</div>

closing as OP has fixed issue by using another mail provider
