이메일 서버를 사용하여 Odoo에서 이메일 보내기 및 받기

Odoo 온라인 또는 Odoo.sh 사용자

Odoo에서는 데이터베이스용 자체 메일 서버를 운영**하고 있기 때문에, 이메일 수발신이 기본으로 설정되어 있습니다. 따라서 **Odoo 온라인Odoo.sh 고객들께서는 따로 관련 내용을 구성하실 필요가 없습니다!

외부 메일 서버로 이메일 대량 발송을 하지 않는 한, 일반 이메일 발송용으로 이미 사전 구성이 완료되어 있으므로 표준 온라인 Odoo 데이터베이스를 사용하시기만 하면 됩니다.

중요

Odoo 서버는 악용을 막기 위한 목적으로 이메일에 일일 발송 한도를 적용하고 있습니다. 기본 제한 용량은 엔터프라이즈 구독 중인 데이터베이스의 경우 하루에 200개의 이메일을 전송할 수 있습니다. 특정한 상황의 경우에는 기본 사용 제한 용량을 늘리실 수 있습니다. 자세한 내용은 :doc:`FAQ <faq>`를 참조하시거나 고객지원팀으로 문의하시기 바랍니다.

본 문서에서 다루고 있는 범위

이 문서는 Odoo 온라인Odoo.sh 과는 달리, Odoo에서 이메일 송수신을 통해 기본 제공 솔루션을 즉시 확인할 수 있는 혜택이 없는 Odoo 온프레미스 데이터베이스 전용 문서입니다. 온프레미스 데이터베이스용으로 수신 및 발신 서버를 설정해야 합니다.

아래의 섹션에서 외부 이메일 서버를 Odoo에 통합시키는 방법을 확인하실 수 있습니다.

경고

회사에서 이메일 서버를 관리하는 직원이 없는 경우, Odoo 온라인 및 Odoo.sh 를 사용하시는 것을 적극 권해드립니다. Odoo에서 호스팅하는 경우 이메일 수발신 기능이 즉시 작동할 뿐 아니라 관련 전문가들이 모니터링하게 됩니다. 그럼에도 불구하고 회사에서 이메일 서버를 직접 관리하고자 하는 경우 자체 이메일 서버를 사용할 수 있습니다. 자세한 내용은 :doc:` Odoo에서 이메일을 발송하기 위한 DNS 레코드 구성 <email_domain>` 문서를 확인하시기 바랍니다.

기본 알림 시스템

Odoo 문서 (CRM 영업기회, 판매주문서나 청구서 등)에는 관련 업무에 대해 논의한 내용을 담은 스레드인 채터 창이 있습니다.

데이터베이스를 사용하는 사용자가 대화창에 메시지를 남길 경우, 이 메시지는 알림으로 해당 문서의 팔로워들에게 이메일을 통해 전송됩니다 (발신자 제외). 팔로워가 메시지에 답신하게 되면 답신 내용이 대화창에 표시되며, Odoo에서는 알림 이메일을 팔로워들에게 추가로 전송하게 됩니다. 내외부 사용자들이 보내온 메시지는 해당 이메일의 대화창에 표시되거나 연락처 레코드에 저장되어 있는 이름으로 표시됩니다.

주소 정보를 기본 설정으로 하여 이러한 알림을 전송합니다. 자세한 내용은 기본 이메일 주소 항목을 참고하시기 바랍니다.

외부 발송 메시지 관리

Odoo에서 시스템 관리자로 설정 ‣ 일반 설정 ‣ 메일 및 채팅 으로 이동하여 이메일 서버 사용자 지정 옵션을 활성화합니다. 그런 다음 저장 을 클릭합니다. 다음으로, 이메일 발신 서버 를 클릭하고 만들기 를 클릭하면 Odoo에서 새로운 메일 발신 서버 기록을 생성합니다. 외부 이메일 서버의 SMTP 데이터를 참조하세요. 모든 정보를 입력한 후 테스트 접속 을 클릭합니다.

참고

실행면에서 더 나은 품질을 위해 발신 도메인의 DNS, DKIM 및 :abbr:`DMARC (Domain-based Message Authentication, Reporting, & Conformance)`이 설정되어 있는지 확인하십시오. 자세한 내용은 :doc:`email_domain`을 참조하시기 바랍니다.

포트 제한

Odoo 온라인 및 Odoo.sh 플랫폼에서는 보안상의 이유로 포트 25가 차단되어 있습니다. 포트 465, 587 또는 2525를 대신 사용하시기를 권합니다.

“보낸 사람”에 기본 이메일 주소 사용하기

“보낸 사람” (외부 발신)의 이메일 주소가 도메인 주소와 다른 경우가 있는데, 때에 따라서 문제가 될 수 있습니다.

예를 들어, 이메일 주소가 mary@customer.example.com 인 고객이 메시지에 답신해온 경우에 Odoo에서는 스레드에 있는 다른 구독자들에게 동일한 이메일을 재전송하게 됩니다. 그러나, customer.example.com 도메인에서 해당 작업을 보안상의 이유로 금지하는 경우 Odoo에서 재전송하려는 이메일은 일부 수신자들의 이메일 서버에서 수신이 거부됩니다.

이러한 문제를 방지하기 위해, Odoo에서는 이메일 전송 시 인증받은 동일 도메인에서 “보낸사람” 주소를 사용하도록 하고 있습니다.

개발자 모드 <developer-mode>를 활성화하여 :guilabel:`시스템 설정 메뉴로 들어가서 설정 ‣ 기술 ‣ ‣ 시스템 매개변수 메뉴를 선택합니다.

이메일을 전송할 이메일 주소를 강제 지정하려면, 데이터베이스의 시스템 매개변수에 다음의 키 조합을 설정해야 합니다:

  • mail.default.from: 로컬 부분 또는 이메일 주소 전체를 값으로 허용합니다

  • mail.default.from_filter: 도메인 주소나 이메일 주소 전체를 값으로 허용합니다

참고

mail.default.from_filterodoo-bin 을 구성하거나 기본 Odoo 이메일 서버를 사용하는 경우에만 작동하며, 다른 경우 ir.mail_server`의  `from_filter 필드를 사용하여 해당 매개변수를 설정할 수 있습니다.

도메인 주소나 이메일 주소 전체를 필드에 사용할 수 있으며, 공란으로 둘 수도 있습니다. 이메일 발신 주소가 설정된 해당 필터와 일치하지 않는 경우 이메일은 mail.default.frommail.catchall.domain 두 가지 시스템 매개변수 조합을 이용하여 저장됩니다.

Example

다음 예시와 같이, 보낸사람의 이메일 주소는 두 개의 시스템 매개변수 (mail.default.frommail.catchall.domain)를 조합하여 변경됩니다. 다음은 Odoo에서의 기본 알림 구성입니다. “어드민” <admin@example.com> => “어드민” <notifications@mycompany.com>.

즉 이메일 발신자 주소가 mail.default.from_filter`와 일치하지 않는 경우, 해당 주소를 `mail.default.from (전체 이메일 주소를 포함하는 경우) 또는 mail.default.from`mail.catchall.domain`를 조합하여 변경시킵니다.

`from_filter`에 전체 이메일 주소가 포함되어 있고 `mail.default.from`이 해당 주소와 동일한 경우에는, `mail.default.from`와 일치하지 않는 이메일은 모두 `mail.default.from`에 저장됩니다.

이메일 발신 서버에 “보낸 사람” 필터 활용하기

보낸사람 필터 필드를 사용하면 Odoo를 통해서 전송하는 보낸사람 이메일 주소나 도메인에 따라 특정 발송용 이메일 서버를 사용하도록 할 수 있습니다. 이렇게 설정함으로써 데이터베이스에서 보내는 이메일의 전달 가능성과 전송 성공률을 높일 수 있습니다. 보낸사람 필터 필터를 설정하면 여러 개의 회사가 운영되는 환경에서 다른 도메인으로 전송하는 경우에도 사용할 수 있습니다. :menuselection:`설정 –> 메일 및 채팅 –> 사용자 지정 메일 서버 –> 메일 발신 서버 –> 새로 만들기`로 이동하여 Odoo에서 해당 필드를 확인할 수 있습니다.

이메일 발신 서버 및 FROM 필터 설정.

보낸사람 필터 필드가 설정된 상태에서 Odoo에서 이메일을 보낼 경우, 다음과 같은 순서로 이메일 서버가 선택됩니다.

  1. 먼저, Odoo에서는 발신 이메일의 보낸사람 값 (이메일 주소)과 동일한 보낸사람 필터 값이 존재하는지 이메일 서버에서 검색합니다. 예를 들어, 보낸사람 값 (이메일 주소)이 test@example.com`인 경우, :guilabel:`보낸사람 필터 값이 test@example.com 인 이메일 서버만이 표시됩니다.

  2. 그러나 보낸사람 값을 사용하는 이메일 서버가 검색되지 않는 경우에는 Odoo에서는 발신 이메일에서 사용된 보낸사람 값 (이메일 주소)과 *도메인*이 동일한 이메일 서버를 검색하게 됩니다. 예를 들어, 보낸사람 이메일 주소가 test@example.com`인 경우, :guilabel:`보낸사람 필터 값이 `example.com`인 경우에만 해당 이메일 서버가 표시됩니다.

도메인 확인 후에도 이메일 서버가 검색되지 않는 경우에, Odoo에서는 보낸사람 필터 값이 설정되어 있지 않은 이메일 서버 전체를 표시합니다.

이 쿼리의 반환값이 없는 경우, Odoo에서는 시스템 매개변수인 mail.default.from 를 사용하여 이메일 서버를 검색합니다. 먼저 이메일 주소 목록에서 일치하는 이메일 서버를 확인한 후, 일치하는 도메인 정보를 검색합니다. 이메일 서버가 검색되지 않는 경우에 Odoo에서는 순서상 가장 첫번째인 이메일 발신 서버를 표시합니다 (우선순위에 따라 정렬).

참고

검색된 이메일 서버가 여러 개인 경우에, Odoo에서는 가장 우선순위가 높은 서버를 사용합니다. 예를 들어, 우선순위가 `10`인 이메일 서버와 `20`인 서버 두 개가 있는 경우에, 우선순위 `10`인 이메일 서버를 먼저 사용합니다.

업무 이메일과 대량 발송 이메일을 각각의 전용 서버로 설정하기

Odoo에서 업무용 이메일과 대량 발송 메일을 구분하여 별도의 이메일 서버를 사용할 수 있습니다. 예를 들어, 업무용 이메일에는 Postmark나 SendinBlue를 사용하고, 대량 발송 메일용으로는 Amazon SES, Mailgun, Sendgrid나 :doc:`Mailjet ` 를 사용하도록 할 수 있습니다.

중요

발신 이메일 서버는 이미 기본으로 구성되어 있습니다. 기술적인 문제로 인해 외부의 특정 이메일 발신 서버가 필요한 경우를 제외하고 대체 서버를 생성하지 마십시오.

이렇게 하려면, 먼저 개발자 모드<developer-mode>`를 활성화한 후 :menuselection:`설정 –> 기술 –> 발신 메일 서버 메뉴로 이동합니다. 해당 메뉴에서 발신용 이메일 서버에 대해서 두 가지 설정 항목을 생성합니다. 하나는 업무 이메일용으로, 다른 하나는 대량 발송용 서버입니다. 업무용 이메일 서버에 작은 숫자를 우선순위 번호로 부여하여 대량 메일 서버보다 업무용 서버가 우선적으로 사용할 수 있도록 합니다.

이제 `이메일 마케팅 –> 설정`으로 이동하여 :guilabel:`전용 서버`를 활성화시킵니다. 알맞은 이메일 서버를 선택하십시오. 해당 설정을 통하여 Odoo 에서 우선순위 번호가 낮은 서버는 업무용 이메일에 사용하고, 여기에서 선택한 서버는 대량 메일 발송용으로 사용하게 됩니다. 이 경우 업무용 및 대량 발송 메일 서버가 모두 포함될 수 있도록 도메인의 SPF (Sender Policy Framework) 레코드가 설정되어야 합니다.

수신 메시지 관리

Odoo에서는 일반 이메일의 계정 별칭을 사용하여 수신 메시지를 가져옵니다.

  • Odoo에서 보낸 메시지에 대한 응답 메시지 인 경우에는 모델 별칭이 있으면 해당 별칭 또는 캐치올 별칭 (catchall@)을 통해 원본 메일 및 채팅 스레드 (및 전체 팔로워의 받은 편지함)로 라우팅됩니다. 모델에 사용자가 지정해놓은 계정 별칭이 없는 경우에는 캐치올 별칭 (catchall@mycompany.odoo.com)을 사용하여 회신합니다. 그러나 다른 계정 별칭과는 달리 캐치올 주소에는 다른 내용을 첨부할 수 없으며 응답 수집 목적으로만 사용할 수 있습니다.

  • **반송된 메시지**는 반환 경로로 사용됩니다. 이는 특히 Odoo 이메일 마케팅 <https://www.odoo.com/page/email-marketing>`__에서 유용하게 사용하고 있습니다. 경우 지난 달에 이메일이 너무 많이 반송 (5회)되었는지와 일주일 간격으로 반송되었는지 여부에 따라 반송 메일을 선택 해제합니다. 이렇게 하는 이유는 메일 서버 오류로 인해 블랙리스트에 올리는 것을 방지하기 위한 목적입니다. 조건을 충족하지 못하는 경우에는 유효하지 않은 이메일로 간주하여 블랙리스트에 추가합니다. guilabel:`이메일 마케팅 설정 메뉴`의 guilabel:`블랙리스트 이메일 주소 아래 있는 연락처에 로그 메모가 추가됩니다.

    채팅창 (이메일 마케팅 외부)에서 반송되는 메시지는 전송 실패를 나타내는 빨간색 봉투로 표시됩니다. 이를 통해 판매주문서나 청구서가 최종적으로 전달되지 않았다는 것을 확인할 수 있습니다.

  • 원본 메시지: 다양한 비즈니스 목적으로 수신 메일에 고유한 별칭을 붙여서 Odoo에서 새로운 레코드를 만들고 있습니다:

메일 서버에 따라서 이메일을 가져오는데 여러 가지 방법이 있습니다. 가장 쉬우면서도 권장할만한 방법은 메일 서버에서 각 Odoo 별칭당 하나로 이메일 주소를 관리하는 것입니다.

  • 메일 서버에서 해당 이메일 주소를 생성합니다 (catchall@, bounce@, sales@ 등).

  • 설정 ‣ 일반 설정 ‣ 메일및채팅`에서 :guilabel:`도메인 별칭 명을 설정하십시오. :guilabel:`도메인 별칭`을 변경하면 데이터베이스의 catchall 도메인이 변경됩니다.

  • Odoo 온프레미스에서 데이터베이스를 호스팅하는 경우에는 각 별칭에 대해 Odoo에서 수신 메일 서버`가 생성됩니다. 새로운 수신 서버를 만들려면 다음으로 이동합니다. :menuselection:`설정 –> 메일및채팅 –> 사용자 지정 메일 서버 –> 수신 메일 서버 –> 새로 만들기 이메일 공급업체 설정에 따라 양식을 작성합니다. 수신 메일에 수행할 작업 필드는 비워 둡니다. 모든 정보를 입력한 후에는 :guilabel:`테스트 및 확인`을 클릭하십시오.

    Odoo에서 수신 메일 서버 설정.
  • Odoo Online 또는 Odoo.sh에서 데이터베이스를 호스팅하는 경우에는 외부 이메일 서버 대신 Odoo의 도메인 이름으로 수신 메시지를 리디렉션하거나 전송하는 것이 좋습니다. 이렇게 하면 메시지가 들어오는 경우 즉시 수신할 수 있습니다. 이메일 서버에서 Odoo의 도메인 이름으로 전체 이메일 주소를 리디렉션하도록 설정해야 합니다 (예: `catchall@mydomain.ext`에서 `catchall@mycompany.odoo.com`으로 설정).

어떤 별칭이든 Odoo에서 편집할 수 있습니다. :menuselection:`설정 –> 기술 메뉴 –> 이메일 –> 별칭`으로 이동하여 각각의 구성 화면에서 편집하시면 됩니다.

캐치올 및 바운스 별칭을 편집하려면 먼저 개발자 모드 를 활성화합니다. 그 다음 설정 ‣ 기술 ‣ 매개변수 ‣ 시스템 매개변수 로 이동하여 별칭 (mail.catchall.aliasmail.bounce.alias)을 사용자 지정합니다. 이렇게 유형을 변경하려면 데이터베이스를 가동하기 전에 변경을 완료해야 합니다. 변경 후 고객이 응답을 보낼 경우 시스템에서는 이전 별칭을 인식하지 못하므로 응답이 수신되지 않습니다.

기본적으로 온프레미스 데이터베이스에서는 5분마다 수신 메시지를 가져옵니다.

참고

이 값은 개발자 모드 에서 변경할 수 있습니다. :menuselection:`설정 –> 기술 –> 자동화 –> 예약된 작업`으로 이동하여 :guilabel:`Mail: 메일 가져오기 서비스`를 확인해보십시오.

피드백 순환 참조 오류를 방지하기 위한 시스템 매개변수

Odoo에서는 이메일 순환 참조 오류를 막기 위해서 두 가지 시스템 매개변수가 사용합니다. 이 매개변수는 레코드를 생성할 때 별칭이 너무 많아지는 것을 방지하고 캐치올 회신 이메일 주소에 대한 피드백 순환 참조 오류를 방지하기 위해 Odoo 16에 도입되었습니다. 해당 내용은 데이터베이스에는 있지만 *시스템 매개변수*에는 존재하지 않습니다. 다음 기본값을 다시 재지정하려면 매개변수를 추가해야 합니다.

다음과 같은 두 가지의 시스템 매개변수를 사용합니다:

  • mail.gateway.loop.minutes (기본값 120분)

  • mail.gateway.loop.threshold (기본값 20)

먼저 :ref:`개발자 모드 <developer-mode>`를 활성화한 다음 :menuselection:`설정 –> 기술 메뉴 –> 매개변수 –> 시스템 매개변수`로 이동하여 Odoo에서 해당 필드를 추가합니다. 매개변수의 값을 필요에 따라서 변경합니다.

Odoo 데이터베이스에 캐치올 이메일 주소 또는 별칭으로 이메일이 수신되면 Odoo는 시스템 매개변수 mail.gateway.loop. Minutes`에 정의되어 있는 지정 기간 동안 수신된 메일을 확인합니다. 수신된 이메일이 별칭으로 전송된 경우 Odoo는 `mail.gateway.loop.threshold 시스템 매개변수를 참조하여 이 별칭이 주어진 기간 동안 생성할 수 있는 레코드 수 (mail.incoming.limit.period 값)로 값을 결정합니다.

또한, 캐치올 이메일 주소로 이메일을 수신할 경우, Odoo는 설정된 기간 동안 데이터베이스에 수신된 이메일을 참조합니다 (시스템 매개변수 mail.incoming.limit.period 값에 명시되어 있음). 그런 다음 Odoo는 수신된 이메일 중 지정된 기간 동안 수신 이메일과 일치하는 이메일이 있는지 확인하여 중복 이메일이 감지되면 순환 참조 오류가 발생하지 않도록 합니다.

별칭 도메인 시스템 매개변수 허용하기

Odoo 데이터베이스에 수신 별칭을 설정하여 이메일을 수신할 때 레코드를 생성합니다. Odoo 데이터베이스에 설정된 별칭을 보려면 먼저 개발자 모드 <developer-mode>`를 활성화하세요. 그런 다음 :menuselection:`설정 앱 –> 기술 –> 이메일 섹션 –> 별칭 으로 이동합니다.

시스템 매개변수인 `mail.catchall.domain.allowed`는 별칭 도메인으로 허용된 값으로, 쉼표로 구분되어 주소가 정확한 이메일을 별칭으로 필터합니다. 도메인 설정으로 별칭에서 상담, 영업제안, 영업기회 등을 생성하도록 설정할 경우, (도메인이 아닌) 별칭 접두사만 이메일 주소에 있는 경우에 대한 위양성 (false positive) 위험을 제거할 수 있습니다.

어떤 경우에는 수신된 이메일 주소에 있는 별칭 접두사가 동일하고 도메인이 다른 경우에 Odoo데이터베이스에서 일치시키는 경우도 있습니다. 수신 이메일의 보낸 사람, 받는 사람 및 이메일 CC 가 참인 경우입니다.

Example

Odoo에서 보낸 사람, 받는 사람 또는 이메일 CC 에 별칭 접두사가 commercial 인 이메일을 수신하는 경우 (예: commercial@gmail.com, commercial@odoo.net), 데이터베이스에서 이메일에 대해 전체 별칭 commercial 을 가진 것으로 잘못 처리하여 (다른 도메인 포함) 상담, 영업제안, 영업기회 등을 생성하게 됩니다.

mail.catchall.domain.allowed 시스템 매개변수를 추가하려면 먼저 개발자 모드 를 활성화합니다. 그런 다음 설정 앱 ‣ 기술 ‣ 매개변수 섹션 ‣ 시스템 매개변수 로 이동합니다. 만들기 를 클릭합니다. 그 다음 필드에 mail.catchall.domain.allowed 를 입력합니다.

다음으로 필드에 도메인을 쉼표로 구분하여 추가합니다 (도메인이 여러 개 있는 경우). 수동으로 저장 하면 시스템 매개변수가 즉시 적용됩니다.

키와 값이 강조 표시되어 있는 mail.catchall.domain.allowed 시스템 매개 변수 설정