

# 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 は Transport Layer Security (TLS) をサポートしていないため、E メールは暗号化されません。

  カスタムの Oracle ウォレットを作成およびアップロードして、リモート SSL/TLS リソースに安全に接続するには、「[証明書と Oracle ウォレットを使用した、UTL\$1HTTP アクセスの設定](Oracle.Concepts.ONA.md)」の手順を行います。

  Wallet に必要な固有の証明書は、サービスによって異なります。AWS のサービスの場合は、通常、[Amazon Trust Services リポジトリ](https://www.amazontrust.com/repository/)にあります。
+ UTL\$1MAIL は、SMTP サーバーでの認証をサポートしていません。
+ E メールでは 1 つの添付ファイルのみ送信できます。
+ 32 K より大きい添付ファイルを送信することはできません。
+ ASCII および Extended Binary Coded Decimal Interchange Code (EBCDIC) 文字エンコードのみ使用できます。
+ SMTP ポート (25) は、Elastic Network Interface 所有者のポリシーに基づいてスロットリングされます。

UTL\$1MAIL を有効にすると、DB インスタンスのマスターユーザーのみに実行権限が付与されます。必要に応じて、UTL\$1MAIL を使用できるよう、マスターユーザーは他のユーザーに実行権限を付与することができます。

**重要**  
UTL\$1MAIL プロシージャの使用を追跡するため、Oracle の組み込み監査機能を有効にすることをお勧めします。

## Oracle UTL\$1MAIL の前提条件
<a name="Oracle.Options.UTLMAIL.PreReqs"></a>

Oracle UTL\$1MAIL を使用するための前提条件は次のとおりです。
+ 1 つ以上の SMTP サーバーと、対応する IP アドレスまたはパブリック/プライベートドメインネームサーバー (DNS) 名。カスタム DNS サーバーを通じて解決されるプライベート DNS 名については、「[カスタム DNS サーバーのセットアップ](Appendix.Oracle.CommonDBATasks.System.md#Appendix.Oracle.CommonDBATasks.CustomDNS)」を参照してください。

## Oracle UTL\$1MAIL オプションの追加
<a name="Oracle.Options.UTLMAIL.Add"></a>

DB インスタンスに Oracle UTL\$1MAIL オプションを追加する一般的な手順は以下のとおりです。

1. 新しいオプショングループを作成するか、既存のオプショングループをコピーまたは変更します。

1. オプショングループに [] オプションを追加します。

1. オプショングループを DB インスタンスに関連付けます。

UTL\$1MAIL オプションの追加後、オプショングループがアクティブになるとすぐに、UTL\$1MAIL がアクティブになります。

**UTL\$1MAIL オプションを DB インスタンスに追加するには**

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` プロシージャを使用して E メールを送信できます。詳細については、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 オプションを削除します。この変更はそのオプショングループを使用するすべての 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) は、Elastic Network Interface 所有者のポリシーに基づいてスロットリングされます。UTL\$1MAIL を使用して正常に E メールを送信できたにもかかわらず、`ORA-29278: SMTP transient error: 421 Service not available` エラーが表示された場合は、スロットリングされている可能性があります。E メール配信がスロットリングされた場合は、バックオフアルゴリズムを実装することをお勧めします。バックオフアルゴリズムの詳細については、「[AWS でのエラーの再試行とエクスポネンシャルバックオフ](https://docs.aws.amazon.com/general/latest/gr/api-retries.html)」および「["throttling Maximum sending rate exceeded" エラーの対処法](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/)」を参照してください。