

# Oracle UTL\$1MAIL
<a name="Oracle.Options.UTLMAIL"></a>

Amazon RDS는 UTL\$1MAIL 옵션 및 SMTP 서버 사용을 통해 Oracle UTL\$1MAIL을 지원합니다. UTL\$1MAIL 패키지를 사용하여 데이터베이스에서 직접 이메일을 전송할 수 있습니다. Amazon RDS는 다음 Oracle 버전에 대해 UTL\$1MAIL을 지원합니다.
+ Oracle Database 21c(21.0.0.0), 모든 버전
+ Oracle Database 19c(19.0.0.0), 모든 버전

다음은 UTL\$1MAIL을 사용할 때 적용되는 몇 가지 제한 사항입니다.
+ UTL\$1MAIL에서는 TLS(전송 계층 보안)를 지원하지 않으므로 이메일이 암호화되지 않습니다.

  사용자 지정 Oracle wallet을 생성하고 업로드하여 원격 SSL/TLS 리소스에 안전하게 연결하려면 [인증서 및 Oracle Wallet을 사용하여 UTL\$1HTTP 액세스 구성](Oracle.Concepts.ONA.md)의 지침을 따르십시오.

  wallet에 필요한 특정 인증서는 서비스별로 다릅니다. AWS 서비스의 경우 일반적으로 [Amazon Trust Services 리포지토리](https://www.amazontrust.com/repository/)에서 이 정보를 확인할 수 있습니다.
+ UTL\$1MAIL은 SMTP 서버를 통한 인증을 지원하지 않습니다.
+ 단일 첨부만 이메일로 보낼 수 있습니다.
+ 32K를 초과하는 첨부를 보낼 수 없습니다.
+ ASCII 및 EBCDIC(Extended Binary Coded Decimal Interchange Code) 문자 인코딩만 사용할 수 있습니다.
+ SMTP 포트(25)는 탄력적 네트워크 인터페이스 소유자의 정책에 따라 조절됩니다.

UTL\$1MAIL을 활성화하는 경우 DB 인스턴스의 마스터 사용자에게만 실행 권한이 부여됩니다. 필요한 경우, 마스터 사용자는 다른 사용자에게 UTL\$1MAIL을 사용할 수 있는 실행 권한을 부여할 수 있습니다.

**중요**  
UTL\$1MAIL 절차 사용을 추적하려면 Oracle의 기본 제공 감사 기능을 사용하는 것이 좋습니다.

## Oracle UTL\$1MAIL 필수 선행 조건
<a name="Oracle.Options.UTLMAIL.PreReqs"></a>

다음은 Oracle UTL\$1MAIL 사용을 위한 필수 선행 조건입니다.
+ 하나 이상의 SMTP 서버와 해당 IP 주소 또는 퍼블릭 또는 프라이빗 DNS(Domain Name Server) 이름. 사용자 지정 DNS 서버를 통해 확인되는 프라이빗 DNS 이름에 대한 자세한 내용은 [사용자 지정 DNS 서버 설정](Appendix.Oracle.CommonDBATasks.System.md#Appendix.Oracle.CommonDBATasks.CustomDNS) 단원을 참조하십시오.

## Oracle UTL\$1MAIL 옵션 추가
<a name="Oracle.Options.UTLMAIL.Add"></a>

Oracle UTL\$1MAIL 옵션을 DB 인스턴스에 추가하는 일반적인 프로세스는 다음과 같습니다.

1. 새 옵션 그룹을 생성하거나 기존 옵션 그룹을 복사 또는 수정합니다.

1. [] 옵션을 옵션 그룹에 추가합니다.

1. 옵션 그룹을 DB 인스턴스에 연동시킵니다.

UTL\$1MAIL 옵션을 추가하면 옵션 그룹이 활성화되고 UTL\$1MAIL이 활성화됩니다.

**DB 인스턴스에 UTL\$1MAIL 옵션을 추가하려면**

1. 사용할 옵션 그룹을 결정합니다. 새 옵션 그룹을 생성하거나 기존 옵션 그룹을 사용합니다. 기존 옵션 그룹을 사용하려면 다음 단계로 건너뛰십시오. 그렇지 않으면 다음 설정을 사용하여 사용자 지정 DB 옵션을 생성합니다.

   1. [**Engine**]에서 사용할 Oracle 버전을 선택합니다.

   1. **메이저 엔진 버전**에서 DB 인스턴스의 버전을 선택합니다.

   자세한 내용은 [옵션 그룹 생성](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create) 섹션을 참조하세요.

1. [**UTL\$1MAIL**] 옵션을 옵션 그룹에 추가합니다. 옵션 추가에 대한 자세한 내용은 [옵션 그룹에 옵션 추가](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption) 섹션을 참조하세요.

1. 옵션 그룹을 새 DB 인스턴스 또는 기존 DB 인스턴스에 적용합니다: 
   + 새 DB 인스턴스의 경우, 인스턴스를 시작할 때 옵션 그룹을 적용합니다. 자세한 내용은 [Amazon RDS DB 인스턴스 생성](USER_CreateDBInstance.md) 섹션을 참조하세요.
   + 기존 DB 인스턴스의 경우, 해당 인스턴스를 수정하고 새 옵션 그룹을 연결하여 옵션 그룹을 적용합니다. 자세한 내용은 [Amazon RDS DB 인스턴스 수정](Overview.DBInstance.Modifying.md) 섹션을 참조하세요.

## Oracle UTL\$1MAIL 사용
<a name="Oracle.Options.UTLMAIL.Using"></a>

UTL\$1MAIL 옵션을 활성화한 후 사용하기 전에 SMTP 서버를 구성해야 합니다.

SMTP\$1OUT\$1SERVER 파라미터를 유효한 IP 주소 또는 퍼블릭 DNS 이름으로 설정하여 SMTP 서버를 구성합니다. SMTP\$1OUT\$1SERVER 파라미터에 대해 여러 서버 주소를 쉼표로 구분된 목록으로 지정할 수 있습니다. 첫 번째 서버를 사용할 수 없는 경우 UTL\$1MAIL에서는 다음 서버를 순서대로 시도합니다.

[DB 파라미터 그룹](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html)을 사용하여 DB 인스턴스에 대한 기본 SMTP\$1OUT\$1SERVER를 설정할 수 있습니다. DB 인스턴스에서 데이터베이스에 대해 다음 코드를 실행하여 세션에 대한 SMTP\$1OUT\$1SERVER 파라미터를 설정할 수 있습니다.

```
1. ALTER SESSION SET smtp_out_server = mailserver.domain.com:25;
```

UTL\$1MAIL 옵션을 활성화하고 SMTP\$1OUT\$1SERVER를 구성한 후 `SEND` 절차를 사용하여 메일을 보낼 수 있습니다. 자세한 내용은 Oracle 설명서의 [UTL\$1MAIL](http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/u_mail.htm#BABFJJBD)을 참조하십시오.

## Oracle UTL\$1MAIL 옵션 제거
<a name="Oracle.Options.UTLMAIL.Remove"></a>

DB 인스턴스에서 Oracle UTL\$1MAIL을 제거할 수 있습니다.

DB 인스턴스에서 UTL\$1MAIL을 제거하려면 다음 중 하나를 수행합니다.
+ 여러 DB 인스턴스에서 UTL\$1MAIL을 제거하려면 UTL\$1MAIL이 속한 옵션 그룹에서 해당 UTL\$1MAIL 옵션을 제거합니다. 이 변경은 해당 옵션 그룹을 사용하는 모든 DB 인스턴스에 영향을 미칩니다. 자세한 내용은 [옵션 그룹에서 옵션 제거](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption) 섹션을 참조하세요.
+ 단일 DB 인스턴스에서 UTL\$1MAIL을 제거하려면 DB 인스턴스를 수정하고 UTL\$1MAIL 옵션이 포함되지 않은 다른 옵션 그룹을 지정합니다. 기본(빈) 옵션 그룹을 지정하거나 다른 사용자 지정 옵션 그룹을 지정할 수 있습니다. 자세한 내용은 [Amazon RDS DB 인스턴스 수정](Overview.DBInstance.Modifying.md) 섹션을 참조하세요.

## 문제 해결
<a name="Oracle.Options.UTLMAIL.Troubleshooting"></a>

다음은 Amazon RDS에서 UTL\$1MAIL을 사용할 때 발생할 수 있는 문제입니다.
+ Throttling. SMTP 포트(25)는 탄력적 네트워크 인터페이스 소유자의 정책에 따라 조절됩니다. UTL\$1MAIL을 사용하여 이메일을 발송할 수 있지만 오류 `ORA-29278: SMTP transient error: 421 Service not available`이 표시될 경우 포트가 조절되는 것일 수 있습니다. 이메일 발송 시 조절을 경험할 경우 백오프 알고리즘을 구현하는 것이 좋습니다. 백오프 알고리즘에 대한 자세한 내용은 [AWS의 오류 재시도 횟수 및 지수 백오프 섹션](https://docs.aws.amazon.com/general/latest/gr/api-retries.html)과 ['제한 - 최대 송신률 초과' 오류를 처리하는 방법](https://aws.amazon.com/blogs/ses/how-to-handle-a-throttling-maximum-sending-rate-exceeded-error/) 섹션을 참조하세요.

  이러한 조절은 제거를 요청할 수 있습니다. 자세한 내용은 [내 EC2 인스턴스에서 포트 25에 대한 조절을 제거하려면 어떻게 해야 하나요?](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-port-25-throttle/) 단원을 참조하세요.