# 수신 이메일 및 새 주제 이메일의 직접 전달 설정 방법

**URL:** https://meta.discourse.org/t/trying-to-setup-direct-delivery-of-incoming-email-and-new-topic-by-email/310674
**Category:** Self-hosting
**Tags:** mail-receiver
**Created:** [6월 5, 2024, 3:02오후 UTC](https://meta.discourse.org/t/trying-to-setup-direct-delivery-of-incoming-email-and-new-topic-by-email/310674 "2024-06-05T15:02:48Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![M\_Cheseldm](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/m_cheseldm/32/390102_2.png) [@M\_Cheseldm](https://meta.discourse.org/u/M_Cheseldm)
#### Post date: [6월 5, 2024, 3:02오후 UTC](https://meta.discourse.org/t/trying-to-setup-direct-delivery-of-incoming-email-and-new-topic-by-email/310674/1 "2024-06-05T15:02:48Z")

</div>

이메일을 통한 답변 및 이메일로 새 게시글을 생성하는 설정을 시도하고 있습니다. 도움이 매우 필요하겠습니다.

아래 가이드를 참고하여 self-hosted Discourse 포럼에서 mail-receiver 컨테이너를 설정했고, 오류 없이 부트스트랩에 성공했습니다.

[https://meta.discourse.org/t/configure-direct-delivery-incoming-email-for-self-hosted-sites-with-mail-receiver/49487](https://meta.discourse.org/t/configure-direct-delivery-incoming-email-for-self-hosted-sites-with-mail-receiver/49487)

[https://meta.discourse.org/t/configure-incoming-email-to-create-new-topics-or-group-messages/62977](https://meta.discourse.org/t/configure-incoming-email-to-create-new-topics-or-group-messages/62977)

도메인으로 이메일은 수신되고 있지만, 내 이메일이 API 키에 의해 거부되는 것으로 보입니다.

API 키 설정을 위해 이 가이드를 사용했습니다: [Where do I put the variables for mail-receiver? - #4 by Simon\_Manning](https://meta.discourse.org/t/where-do-i-put-the-variables-for-mail-receiver/283803/4)

수신 이메일용 시스템 스코프의 API 키를 구성했으며, 기본값은 다음과 같습니다:

- `/admin/email/smtp_should_reject (GET)`
- `/admin/email/handle_mail (POST)`

다음은 mail-receiver 로그의 내용 예시입니다:

```plaintext
 mail-qt1-f182.google.com[209.85.160.182]
<19>Jun 3 12:22:56 discourse-smtp-fast-rejection[114]: Failed to GET smtp_should_reject answer from thetarotclub.xyz/admin/email/smtp_should_reject.json: undefined method `request_uri' for #<URI::Generic:0x00005a643e1ea198> (NoMethodError)<19>Jun 3 12:22:56 discourse-smtp-fast-rejection[114]: /usr/local/lib/site_ruby/mail_receiver/fast_rejection.rb:78:in `maybe_reject_email'
  /usr/local/lib/site_ruby/mail_receiver/fast_rejection.rb:142:in `maybe_reject_by_api'
  /usr/local/lib/site_ruby/mail_receiver/fast_rejection.rb:116:in `block in run_filters'
  /usr/local/lib/site_ruby/mail_receiver/fast_rejection.rb:115:in `each'
  /usr/local/lib/site_ruby/mail_receiver/fast_rejection.rb:115:in `run_filters'
  /usr/local/lib/site_ruby/mail_receiver/fast_rejection.rb:60:in `process_single_request'
  /usr/local/lib/site_ruby/mail_receiver/fast_rejection.rb:34:in `process'
  /usr/local/bin/discourse-smtp-fast-rejection:10:in `<main>'Jun 03 12:22:56 ubuntu-2gb-ash-1-mail-receiver postfix/smtpd[108]: NOQUEUE: reject: RCPT from mail-qt1-f182.google.com[209.85.160.182]: 450 4.7.1 <replies+772ea5167ee1fabce20db67cd141a364@thetarotclub.xyz>: Recipient address rejected: Internal error, API request preparation failed; from=<cheseldm@gmail.com> to=<replies+772ea5167ee1fabce20db67cd141a364@thetarotclub.xyz> proto=ESMTP helo=<mail-qt1-f182.google.com>
Jun 03 12:22:56 ubuntu-2gb-ash-1-mail-receiver postfix/smtpd[108]: disconnect from mail-qt1-f182.google.com[209.85.160.182] ehlo=1 mail=1 rcpt=0/1 bdat=0/1 quit=1 commands=3/5
Jun 03 12:26:16 ubuntu-2gb-ash-1-mail-receiver postfix/anvil[111]: statistics: max connection rate 1/60s for (smtp:209.85.160.182) at Jun 3 12:22:56
Jun 03 12:26:16 ubuntu-2gb-ash-1-mail-receiver postfix/anvil[111]: statistics: max connection count 1 for (smtp:209.85.160.182) at Jun 3 12:22:56
Jun 03 12:26:16 ubuntu-2gb-ash-1-mail-receiver postfix/anvil[111]: statistics: max cache size 1 at Jun 3 12:22:56
Jun 03 12:43:23 ubuntu-2gb-ash-1-mail-receiver postfix/smtpd[127]: connect from mail-qt1-f176.google.com[209.85.160.176]

```

또한 mail-receiver 로그의 끝부분에는 다음과 같이 표시됩니다:

```plaintext
Operating environment:
HOSTNAME=ubuntu-2gb-ash-1-mail-receiver
LANGUAGE=en_US.UTF-8
MAIL_DOMAIN=thetarotclub.xyz
DOCKER_HOST_IP=172.17.0.1
PWD=/
DISCOURSE_BASE_URL=thetarotclub.xyz
HOME=/root
LANG=en_US.UTF-8
TERM=xterm
SHLVL=1
DISCOURSE_API_USERNAME=system
LC_ALL=en_US.UTF-8
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
DISCOURSE_API_KEY=
_=/usr/bin/env
Delivering mail sent to thetarotclub.xyz to Discourse
postfix/postfix-script: warning: symlink leaves directory: /etc/postfix/./makedefs.out
Jun 03 21:34:36 ubuntu-2gb-ash-1-mail-receiver postfix/postfix-script[85]: warning: symlink leaves directory: /etc/postfix/./makedefs.out
Starting Postfix
Jun 03 21:34:36 ubuntu-2gb-ash-1-mail-receiver postfix/master[1]: daemon started -- version 3.5.6, configuration /etc/postfix

```

Discourse API 키는 제가 /var/discourse/containers/mail-receiver.yml에서 설정한 것이 아닙니다.

다음은 제 mail-receiver.yml 파일입니다:

```plaintext
## this is the incoming mail receiver container template
##
## After making changes to this file, you MUST rebuild
## /var/discourse/launcher rebuild mail-receiver
##
## BE *VERY* CAREFUL WHEN EDITING!
## YAML FILES ARE SUPER SUPER SENSITIVE TO MISTAKES IN WHITESPACE OR ALIGNMENT!
## visit http://www.yamllint.com/ to validate this file as needed

base_image: discourse/mail-receiver:release
update_pups: false

expose:
  - "25:25" # SMTP

env:
  LC_ALL: en_US.UTF-8
  LANG: en_US.UTF-8
  LANGUAGE: en_US.UTF-8

  ## Where e-mail to your forum should be sent. In general, it's perfectly fine
  ## to use the same domain as the forum itself here.
  MAIL_DOMAIN: thetarotclub.xyz
# uncomment these (and the volume below!) to support TLS 
# POSTCONF_smtpd_tls_key_file: /letsencrypt/discourse.example.com/discourse.example.com.key
# POSTCONF_smtpd_tls_cert_file: /letsencrypt/discourse.example.com/fullchain.cer
# POSTCONF_smtpd_tls_security_level: may

  ## The base URL for this Discourse instance.
  ## This will be whatever your Discourse site URL is. For example,
  ## https://discourse.example.com. If you're running a subfolder setup,
  ## be sure to account for that (ie https://example.com/forum).
  DISCOURSE_BASE_URL: 'https://thetarotclub.xyz'

  ## The master API key of your Discourse forum. You can get this from
  ## the "API" tab of your admin panel.
 DISCOURSE_API_KEY: 
  ## The username to use for processing incoming e-mail. Unless you have
  ## renamed the `system` user, you should leave this as-is.
  DISCOURSE_API_USERNAME: system

volumes:
  - volume:
      host: /var/discourse/shared/mail-receiver/postfix-spool
      guest: /var/spool/postfix
# uncomment to support TLS
# - volume:
# host: /var/discourse/shared/standalone/letsencrypt
# guest: /letsencrypt

```

거부된 이메일에서 발생하는 오류는 다음과 같습니다:

```plaintext
450 4.7.1 : Recipient address rejected: Internal error, API request preparation failed

```

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [6월 5, 2024, 3:20오후 UTC](https://meta.discourse.org/t/trying-to-setup-direct-delivery-of-incoming-email-and-new-topic-by-email/310674/2 "2024-06-05T15:20:17Z")

</div>

방금 키를 공개했으므로 해당 키를 무효화한 후 새로운 키를 생성해야 합니다. 키에 최소한 메일 전달 권한이 있는지 확인하세요.

---

<div class="post-metadata">

### Author: ![M\_Cheseldm](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/m_cheseldm/32/390102_2.png) [@M\_Cheseldm](https://meta.discourse.org/u/M_Cheseldm)
#### Post date: [6월 5, 2024, 6:41오후 UTC](https://meta.discourse.org/t/trying-to-setup-direct-delivery-of-incoming-email-and-new-topic-by-email/310674/3 "2024-06-05T18:41:35Z")

</div>

컨테이너가 재빌드되지 않는다는 것을 파악했습니다. 재빌드를 진행한 후, 컨테이너에 올바른 API 키가 업데이트되었습니다. 이제 이메일이 정상적으로 수신되고 있습니다.

감사합니다.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [6월 5, 2024, 7:22오후 UTC](https://meta.discourse.org/t/trying-to-setup-direct-delivery-of-incoming-email-and-new-topic-by-email/310674/4 "2024-06-05T19:22:57Z")

</div>

좋습니다! 첫 번째 게시글에 키를 포함시켰으니, 새 키를 생성했겠군요?

> [@M\_Cheseldm](#):
>
> 네. 기존 키는 폐기되고 새 키가 생성되었습니다.

좋습니다! 확실하게 확인하고 싶었을 뿐입니다.

---

<div class="post-metadata">

### Author: ![M\_Cheseldm](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/m_cheseldm/32/390102_2.png) [@M\_Cheseldm](https://meta.discourse.org/u/M_Cheseldm)
#### Post date: [6월 5, 2024, 7:34오후 UTC](https://meta.discourse.org/t/trying-to-setup-direct-delivery-of-incoming-email-and-new-topic-by-email/310674/5 "2024-06-05T19:34:05Z")

</div>

네. 기존 키는 폐기되고 새로운 키가 생성되었습니다.
