

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Mengelola alur email
<a name="email-flows"></a>

Untuk membantu mengelola email, Anda dapat mengatur *aturan alur email*. Aturan alur email dapat mengambil satu atau beberapa tindakan pada pesan email berdasarkan alamat atau domainnya. Anda dapat menggunakan aturan alur email pada alamat email atau domain pengirim dan penerima.

Saat membuat aturan alur email, Anda menentukan [*tindakan aturan*](#email-flows-rule-actions) yang berlaku untuk email saat [*pola*](#email-flows-patterns) aturan tertentu dicocokkan.

**Topics**
+ [Tindakan aturan email masuk](#email-flows-rule-actions)
+ [Tindakan aturan email keluar](#email-flows-rule-outbound)
+ [Pola pengirim dan penerima](#email-flows-patterns)
+ [Membuat aturan alur email](create-email-rules.md)
+ [Mengedit aturan alur email](edit-rules.md)
+ [Mengkonfigurasi AWS Lambda untuk Amazon WorkMail](lambda.md)
+ [Mengelola akses ke Amazon WorkMail Message Flow API](lambda-content-access.md)
+ [Menguji aturan alur email](test-email-flow-rule.md)
+ [Menghapus aturan alur email](remove-email-flow-rule.md)

## Tindakan aturan email masuk
<a name="email-flows-rule-actions"></a>

Aturan alur email masuk membantu mencegah email yang tidak diinginkan masuk ke kotak pesan pengguna. Aturan alur email masuk, juga disebut tindakan aturan, secara otomatis berlaku untuk semua pesan email yang dikirim ke siapa pun di dalam WorkMail organisasi Amazon Anda. Ini berbeda dari aturan email untuk masing-masing kotak pesan.

**catatan**  
Secara opsional, Anda dapat menggunakan aturan dengan AWS Lambda fungsi untuk memproses email masuk sebelum dikirim ke kotak pesan pengguna. Untuk informasi selengkapnya tentang penggunaan Lambda dengan Amazon WorkMail, lihat. [Mengkonfigurasi AWS Lambda untuk Amazon WorkMail](lambda.md) Untuk informasi tentang Lambda, lihat [https://docs.aws.amazon.com/lambda/latest/dg/welcome.html](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html).

Aturan alur email masuk, juga disebut tindakan aturan, secara otomatis berlaku untuk semua pesan email yang dikirim ke siapa pun di dalam WorkMail organisasi Amazon. Ini berbeda dari aturan email untuk masing-masing kotak pesan.

Tindakan aturan berikut menentukan bagaimana email masuk ditangani. Untuk setiap aturan, Anda tentukan [pola pengirim dan penerima](#email-flows-patterns) bersama-sama dengan salah satu tindakan berikut. 


****  

| Tindakan | Deskripsi | 
| --- | --- | 
|  Jatuhkan email  |  Pesan email diabaikan. Email ini tidak disampaikan, dan pengirim tidak diberitahu tentang kegagalan pengiriman.  | 
|  Kirim respon pentalan  |  Pesan email tidak terkirim, dan pengirim diberitahu tentang kegagalan pengiriman dalam pesan pentalan.  | 
| Kirim ke folder sampah |  Pesan email dikirim ke folder spam atau sampah pengguna, bahkan jika itu awalnya tidak diidentifikasi sebagai spam oleh sistem deteksi WorkMail spam Amazon.   | 
|  Default  |  Pesan email dikirimkan setelah diperiksa oleh sistem deteksi WorkMail spam Amazon. Email spam dikirim ke folder sampah. Semua pesan email lainnya dikirim ke kotak masuk. Aturan alur email lainnya dengan pola pengirim yang kurang spesifik akan diabaikan. Untuk menambahkan pengecualian ke aturan alur email berbasis domain, konfigurasikan tindakan Default dengan pola pengirim yang lebih spesifik. Untuk informasi selengkapnya, lihat [Pola pengirim dan penerima](#email-flows-patterns).  | 
|  Jangan pernah mengirim ke folder sampah  |  Pesan email selalu dikirim ke kotak masuk pengguna, bahkan jika itu diidentifikasi sebagai spam oleh sistem deteksi WorkMail spam Amazon.  Dengan tidak menggunakan sistem deteksi spam default, Anda dapat membuat pengguna Anda dalam bahaya karena berpotensi menerima konten berisiko tinggi dari alamat yang Anda tentukan.   | 
|  Jalankan AWS Lambda  |  Menyampaikan pesan email ke fungsi Lambda untuk diproses sebelum atau saat dikirim ke kotak masuk pengguna.  | 

**catatan**  
Email masuk pertama kali dikirim ke Amazon SES, dan kemudian ke Amazon WorkMail. Jika Amazon SES memblokir pesan email yang masuk, maka tindakan aturan tidak akan berlaku. Sebagai contoh, Amazon SES memblokir pesan email ketika virus yang diketahui terdeteksi atau karena aturan penyaringan IP eksplisit. Menentukan tindakan aturan, seperti **Default**, **Kirim ke folder sampah**, atau **Jangan pernah mengirim ke folder sampah** tidak berpengaruh.

## Tindakan aturan email keluar
<a name="email-flows-rule-outbound"></a>

Anda menggunakan aturan alur email keluar untuk mengarahkan pesan email melalui gateway SMTP, atau untuk memblokir pengirim mengirim pesan email ke penerima tertentu. Untuk informasi selengkapnya tentang gateway SMTP, lihat [Mengaktifkan gateway SMTP](smtp-gateway.md).

Anda juga dapat menggunakan aturan alur email keluar untuk meneruskan pesan email ke AWS Lambda fungsi untuk diproses setelah email dikirim. Untuk informasi tentang Lambda, lihat [https://docs.aws.amazon.com/lambda/latest/dg/welcome.html](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html).

Tindakan aturan berikut menentukan bagaimana email keluar ditangani. Untuk setiap aturan, Anda tentukan [pola pengirim dan penerima](#email-flows-patterns) bersama-sama dengan salah satu tindakan berikut. 


****  

| Tindakan | Deskripsi | 
| --- | --- | 
|  Default  |  Pesan email dikirim melalui aliran normal.  | 
|  Jatuhkan email  |  Pesan email dijatuhkan. Email tidak dikirim, dan pengirim tidak diberitahu.  | 
| Kirim respon pentalan |  Pesan email tidak dikirim, dan pengirim akan diberitahu dengan pesan bahwa administrator memblokir pesan email.   | 
|  Rute ke gateway SMTP  |  Pesan email dikirim melalui gateway SMTP yang dikonfigurasi.  | 
|  Jalankan Lambda  |  Menyampaikan pesan email ke fungsi Lambda untuk diproses sebelum atau saat pesan email dikirim.  | 

## Pola pengirim dan penerima
<a name="email-flows-patterns"></a>

Aturan alur email dapat diterapkan ke alamat email tertentu, atau semua alamat email di bawah domain atau kumpulan domain tertentu. Anda menentukan pola untuk menentukan alamat email yang diberlakukan aturan.

Pola pengirim dan penerima mengambil salah satu bentuk berikut:
+ *Alamat email* cocok dengan satu alamat email; misalnya:

  ```
  mailbox@example.com
  ```
+ *Nama domain* cocok dengan semua alamat email di bawah domain tersebut; misalnya:

  ```
  example.com
  ```
+ *Domain wildcard* cocok dengan semua alamat email di bawah domain itu dan semua subdomainnya. Wildcard hanya muncul di bagian depan domain; misalnya:

  ```
  *.example.com
  ```
+ *Bintang* cocok dengan alamat email apa pun di bawah domain apa pun.

  ```
  *
  ```

**catatan**  
Simbol \$1 tidak valid dalam pola pengirim atau penerima.

Beberapa pola dapat ditentukan untuk satu aturan. Untuk informasi selengkapnya, lihat [Tindakan aturan email masuk](#email-flows-rule-actions) dan [Tindakan aturan email keluar](#email-flows-rule-outbound).

Aturan alur email masuk diterapkan jika header `Sender` atau `From` dalam pesan email masuk cocok dengan pola apapun. Jika ada, alamat `Sender` dicocokkan terlebih dahulu. Parameter `From` alamat dicocokkan jika tidak ada header `Sender` atau jika header `Sender` tidak cocok dengan aturan apapun. Jika ada beberapa penerima pesan email yang sesuai dengan aturan yang berbeda, setiap aturan akan berlaku untuk penerima yang cocok.

Aturan alur email keluar diterapkan jika penerima dan header `Sender` atau `From` dalam pesan email keluar cocok dengan pola apapun. Jika ada beberapa penerima untuk pesan email yang cocok dengan aturan yang berbeda, setiap aturan akan berlaku untuk penerima yang cocok.

Jika beberapa aturan cocok, tindakan aturan yang paling spesifik diterapkan. Contohnya adalah ketika aturan untuk alamat email tertentu diutamakan daripada aturan untuk seluruh domain. Jika beberapa aturan memiliki kekhususan yang sama, tindakan yang paling ketat diterapkan. Contohnya adalah ketika tindakan **Jatuhkan** lebih diutamakan daripada tindakan **Pentalan**. Urutan prioritas untuk tindakan adalah sama dengan urutan di mana mereka tercantum dalam [Tindakan aturan email masuk](#email-flows-rule-actions) dan [Tindakan aturan email keluar](#email-flows-rule-outbound).

**catatan**  
Berhati-hatilah saat membuat aturan dengan pola pengirim yang tumpang tindih dengan tindakan **Jatuhkan** atau **Pentalan**. Urutan prioritas tak terduga dapat mengakibatkan banyak pesan email masuk tidak terkirim.

# Membuat aturan alur email
<a name="create-email-rules"></a>

Aturan alur email menerapkan [tindakan aturan](email-flows.md#email-flows-rule-actions) ke pesan email masuk dan keluar. Tindakan berlaku ketika pesan cocok dengan [pola](email-flows.md#email-flows-patterns) tertentu. Aturan alur email baru segera berlaku.

**Untuk membuat aturan alur email**

1. Buka WorkMail konsol Amazon di [https://console.aws.amazon.com/workmail/](https://console.aws.amazon.com/workmail/).

   Jika perlu, ubah Wilayah AWS. Di bilah di bagian atas jendela konsol, buka daftar **Pilih Wilayah** dan pilih Wilayah. Untuk informasi selengkapnya, lihat [ Wilayah dan titik akhir](https://docs.aws.amazon.com/general/latest/gr/index.html?rande.html) di *Referensi Umum Amazon Web*.

1. Di panel navigasi, pilih **Organizations**, lalu pilih nama organisasi.

1. Di panel navigasi, pilih **Pengaturan organisasi**.

   Halaman **pengaturan Organisasi** muncul dan menampilkan satu set tab. Dari halaman ini, Anda dapat membuat aturan masuk atau keluar. Langkah-langkah berikut menjelaskan cara membuat kedua jenis.

**Untuk membuat aturan masuk**

   1. Pilih tab **Aturan masuk** dan kemudian pilih **Buat**.

   1. Di kotak **Nama aturan**, masukkan nama unik.

   1. Di bawah **Tindakan**, buka daftar dan pilih tindakan. Setiap item dalam daftar berisi deskripsi, dan beberapa menyediakan **Pelajari lebih lanjut** tautan.
**catatan**  
Jika Anda memilih tindakan **Jalankan Lambda**, kontrol tambahan akan muncul: Untuk informasi tentang penggunaan kontrol tersebut, lihat bagian selanjutnya. [Mengkonfigurasi AWS Lambda untuk Amazon WorkMail](lambda.md) 

   1. Di bawah **domain atau alamat Pengirim**, masukkan domain atau alamat pengirim yang Anda inginkan aturan untuk diterapkan.

   1. Di bawah **Domain atau alamat tujuan**, masukkan kombinasi domain tujuan dan alamat email apa pun.

   1. Pilih **Buat**.

**Untuk membuat aturan keluar**

   1. Pilih tab **Aturan keluar** dan pilih **Buat**.

   1. Di kotak **Nama aturan**, masukkan nama unik.

   1. Di bawah **Tindakan**, buka daftar dan pilih tindakan. Setiap item dalam daftar berisi deskripsi, dan beberapa menyediakan **Pelajari lebih lanjut** tautan.
**catatan**  
Jika Anda memilih tindakan **Jalankan Lambda**, kontrol tambahan akan muncul. Untuk informasi tentang menggunakan kontrol tersebut, lihat bagian selanjutnya[Mengkonfigurasi AWS Lambda untuk Amazon WorkMail](lambda.md).

   1. Di bawah **domain atau alamat Pengirim**, masukkan kombinasi domain pengirim dan alamat email yang valid.

   1. Di bawah **Domain atau alamat tujuan**, masukkan kombinasi domain tujuan dan alamat email yang valid.

   1. Pilih **Buat**.

   Anda dapat menguji aturan alur email baru yang Anda buat. Untuk informasi selengkapnya, lihat [Menguji aturan alur email](test-email-flow-rule.md).

# Mengedit aturan alur email
<a name="edit-rules"></a>

Anda mengedit aturan alur email kapan pun Anda perlu mengubah satu atau beberapa [tindakan aturan](email-flows.md#email-flows-rule-actions) untuk pesan email. Langkah-langkah di bagian ini berlaku untuk pesan email masuk dan keluar.

**Untuk mengedit aturan alur email**

1. Buka WorkMail konsol Amazon di [https://console.aws.amazon.com/workmail/](https://console.aws.amazon.com/workmail/).

   Jika perlu, ubah Wilayah AWS. Di bilah di bagian atas jendela konsol, buka daftar **Pilih Wilayah** dan pilih Wilayah. Untuk informasi selengkapnya, lihat [ Wilayah dan titik akhir](https://docs.aws.amazon.com/general/latest/gr/index.html?rande.html) di *Referensi Umum Amazon Web*.

1. Di panel navigasi, pilih **Organizations**, lalu pilih nama organisasi.

1. Di panel navigasi, pilih **Pengaturan organisasi**.

   Halaman **pengaturan Organisasi** muncul dan menampilkan satu set tab.

1. Pilih tab **Aturan masuk atau Aturan** **keluar**. 

1. Pilih tombol radio di sebelah aturan yang ingin Anda ubah, lalu pilih **Edit**.

1. Ubah tindakan atau tindakan dalam aturan sesuai kebutuhan, lalu pilih **Simpan**.

# Mengkonfigurasi AWS Lambda untuk Amazon WorkMail
<a name="lambda"></a>

Gunakan tindakan **Jalankan Lambda** dalam aturan alur email masuk dan keluar untuk meneruskan pesan email yang cocok dengan aturan ke fungsi untuk diproses. AWS Lambda 

Pilih dari konfigurasi berikut untuk tindakan **Jalankan Lambda** di Amazon. WorkMail

**Konfigurasi **Jalankan Lambda** yang sinkron**  
Pesan email yang cocok dengan aturan aliran disampaikan ke fungsi Lambda untuk diproses sebelum mereka dikirim atau diserahkan. Gunakan konfigurasi ini untuk mengubah konten email. Anda juga dapat mengontrol aliran email masuk atau keluar untuk kasus penggunaan yang berbeda. Misalnya, aturan yang diteruskan ke fungsi Lambda dapat memblokir pengiriman pesan email sensitif, menghapus lampiran, atau menambahkan penafian.

**Konfigurasi **Jalankan Lambda** yang tidak sinkron**  
Pesan email yang cocok dengan aturan aliran disampaikan ke fungsi Lambda untuk diproses saat mereka dikirim atau diserahkan. Konfigurasi ini tidak mempengaruhi pengiriman email dan digunakan untuk tugas-tugas seperti mengumpulkan metrik untuk pesan email masuk atau keluar.

Baik Anda memilih konfigurasi sinkron atau asinkron, objek peristiwa yang diteruskan ke fungsi Lambda berisi metadata untuk peristiwa email masuk atau keluar. Anda juga dapat menggunakan ID pesan dalam metadata untuk mengakses konten lengkap pesan email. Untuk informasi selengkapnya, lihat [Mengambil konten pesan dengan AWS Lambda](lambda-content.md). Untuk informasi selengkapnya tentang peristiwa email, lihat [Data peristiwa Lambda](#lambda-data).

Untuk informasi selengkapnya tentang aturan alur email masuk dan keluar, lihat [Mengelola alur email](email-flows.md). Untuk informasi tentang Lambda, lihat [https://docs.aws.amazon.com/lambda/latest/dg/welcome.html](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html).

**catatan**  
Saat ini, aturan aliran email Lambda hanya mereferensikan fungsi Lambda di Wilayah AWS yang sama dan sebagai organisasi Amazon Akun AWS WorkMail yang sedang dikonfigurasi.

## Memulai dengan AWS Lambda untuk Amazon WorkMail
<a name="start-lambda"></a>

Untuk mulai menggunakan AWS Lambda dengan Amazon WorkMail, sebaiknya gunakan fungsi [ WorkMail Hello World Lambda](https://console.aws.amazon.com/lambda/home#/create/app?applicationId=arn:aws:serverlessrepo:us-east-1:489970191081:applications/workmail-hello-world-python) dari AWS Serverless Application Repository akun Anda ke akun Anda. Fungsi ini memiliki semua sumber daya yang diperlukan, dan izin yang dikonfigurasi untuk Anda. Untuk contoh lainnya, lihat [amazon-workmail-lambda-templates](https://github.com/aws-samples/amazon-workmail-lambda-templates)repositori di. GitHub

Jika Anda memilih untuk membuat fungsi Lambda Anda sendiri, Anda harus mengonfigurasi izin menggunakan (). AWS Command Line Interface AWS CLI Dalam contoh perintah berikut, lakukan hal berikut:
+ Ganti `MY_FUNCTION_NAME` dengan nama fungsi Lambda Anda.
+ Ganti `REGION` dengan Amazon WorkMail AWS Region Anda. WorkMail Wilayah Amazon yang tersedia termasuk `us-east-1` (AS Timur (Virginia N.)), `us-west-2` (AS Barat (Oregon)), dan `eu-west-1` (Eropa (Irlandia)).
+ Ganti `AWS_ACCOUNT_ID` dengan Akun AWS ID 12 digit Anda.
+ Ganti `WORKMAIL_ORGANIZATION_ID` dengan ID WorkMail organisasi Amazon Anda. Anda dapat menemukannya di kartu untuk organisasi Anda di halaman **Organizations**.



```
aws --region REGION lambda add-permission --function-name MY_FUNCTION_NAME 
--statement-id AllowWorkMail 
--action "lambda:InvokeFunction" 
--principal workmail.REGION.amazonaws.com
--source-arn arn:aws:workmail:REGION:AWS_ACCOUNT_ID:organization/WORKMAIL_ORGANIZATION_ID
```

Untuk informasi selengkapnya tentang menggunakan AWS CLI, lihat [https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html).

## Mengkonfigurasi aturan **Jalankan Lambda** yang sinkron
<a name="synchronous-rules"></a>

Untuk mengkonfigurasi aturan **Jalankan Lambda** yang sinkron, buat aturan alur email dengan tindakan **Jalankan Lambda** dan pilih kotak centang **Jalankan secara sinkron**. Untuk informasi selengkapnya tentang membuat aturan alur pesan, lihat [Membuat aturan alur email](create-email-rules.md).

Untuk menyelesaikan pembuatan aturan sinkron, tambahkan Amazon Resource Name (ARN) Lambda dan konfigurasikan opsi berikut.

****Tindakan mundur****  
Tindakan Amazon WorkMail berlaku jika fungsi Lambda gagal dijalankan. Tindakan ini juga berlaku untuk setiap penerima yang dihilangkan dari respon Lambda jika bendera **allRecipients** tidak diatur. Aksi **Fallback tidak bisa menjadi aksi** Lambda lain.

****Waktu habis** (dalam menit)**  
Periode waktu di mana fungsi Lambda dicoba lagi jika Amazon WorkMail gagal memanggilnya. **Tindakan mundur** diterapkan pada akhir jangka waktu ini.

**catatan**  
Aturan **Jalankan Lambda** Sinkron hanya support syarat tujuan **\$1**.

## Data peristiwa Lambda
<a name="lambda-data"></a>

Fungsi Lambda dipicu menggunakan data peristiwa berikut. Presentasi data bervariasi tergantung pada bahasa pemrograman yang digunakan untuk fungsi Lambda.

```
{
    "summaryVersion": "2018-10-10",
    "envelope": {
        "mailFrom" : {
            "address" : "from@example.com"
        },
        "recipients" : [
           { "address" : "recipient1@example.com" },
           { "address" : "recipient2@example.com" }
        ]
    },
    "sender" : {
        "address" :  "sender@example.com"
    },
    "subject" : "Hello From Amazon WorkMail!",
    "messageId": "00000000-0000-0000-0000-000000000000",
    "invocationId": "00000000000000000000000000000000",
    "flowDirection": "INBOUND",
    "truncated": false
}
```

JSON peristiwa mencakup data peristiwa berikut.

**summaryVersion**  
Nomor versi untuk`LambdaEventData`. Ini hanya diperbarui ketika Anda membuat perubahan yang tidak kompatibel ke belakang. `LambdaEventData`

**amplop**  
Amplop pesan email, yang meliputi: bidang berikut.    
**mailFrom**  
Alamat **Dari**, yang biasanya alamat email dari pengguna yang mengirim pesan. Jika pengguna mengirim pesan email sebagai pengguna lain atau atas nama pengguna lain, bidang **mailFrom** mengembalikan alamat email pengguna yang atas namanya pesan email tersebut dikirim, bukan alamat email pengirim sebenarnya.  
**penerima**  
Daftar alamat email penerima. **Amazon WorkMail tidak membedakan antara To, **CC**, atau **BCC**.**  
Untuk aturan alur email masuk, daftar ini menyertakan penerima di semua domain di WorkMail organisasi Amazon tempat Anda membuat aturan. Fungsi Lambda diminta secara terpisah untuk setiap percakapan SMTP dari pengirim, dan bidang penerima mencantumkan penerima dari percakapan SMTP tersebut. Penerima dengan domain eksternal tidak disertakan.

**pengirim**  
Alamat email pengguna yang mengirim pesan email atas nama pengguna lain. Bidang ini diatur hanya jika suatu pesan email dikirim atas nama pengguna lain.

**subjek**  
Baris subjek email. Dipotong ketika melebihi batas 256 karakter.

**messageId**  
ID unik yang digunakan untuk mengakses konten lengkap pesan email saat menggunakan Amazon WorkMail Message Flow SDK.

**InvocationId**  
ID untuk invokasi Lambda yang unik. ID ini tetap sama ketika fungsi Lambda dipanggil lebih dari sekali untuk hal yang sama. **LambdaEventData** Gunakan untuk mendeteksi percobaan ulang dan menghindari duplikasi.

**flowDirection**  
Menunjukkan arah alur email, baik **INBOUND** atau **OUTBOUND**.

**terpotong**  
Berlaku untuk ukuran muatan, bukan panjang baris subjek. Saat `true`, ukuran muatan melebihi batas 128 KB, sehingga daftar penerima dipotong untuk memenuhi batas.

## Skema respon **Jalankan Lambda** sinkron
<a name="synchronous-schema"></a>

Jika aturan alur email dengan tindakan **Jalankan Lambda** sinkron cocok dengan pesan email masuk atau keluar, Amazon WorkMail memanggil fungsi Lambda yang dikonfigurasi dan menunggu respons sebelum mengambil tindakan pada pesan email. Fungsi Lambda mengembalikan respon sesuai dengan skema yang telah ditetapkan yang berisi tindakan, jenis tindakan, parameter yang berlaku, dan penerima yang diberlakukan tindakan terhadapnya.

Contoh berikut menunjukkan respon **Run Lambda** sinkron. Respon bervariasi berdasarkan bahasa pemrograman yang digunakan untuk fungsi Lambda.

```
{
    "actions": [                          
      {
        "action" : {                       
          "type": "string",                 
          "parameters": { various }       
        },
        "recipients": [list of strings],      
        "allRecipients": boolean            
      }
    ]
}
```

Respon JSON meliputi data berikut.

**tindakan**  
Tindakan yang harus dilakukan untuk penerima.

**jenis**  
Jenis tindakan. Jenis tindakan tidak dikembalikan untuk tindakan **Jalankan Lambda** yang tidak sinkron.  
Jenis tindakan aturan masuk termasuk **BOUNCE**, **DROP**, **DEFAULT**, **BYPASS\$1SPAM\$1CHECK**, dan **MOVE\$1TO\$1JUNK**. Untuk informasi selengkapnya, lihat [Tindakan aturan email masuk](email-flows.md#email-flows-rule-actions).  
Jenis tindakan aturan keluar termasuk **BOUNCE**, **DROP**, dan **DEFAULT**. Untuk informasi selengkapnya, lihat [Tindakan aturan email keluar](email-flows.md#email-flows-rule-outbound). 

**parameter**  
Parameter tindakan tambahan. Support untuk jenis tindakan **BOUNCE** sebagai objek JSON dengan kunci **bouncemessage** dan nilai **string**. Pesan pentalan ini digunakan untuk membuat pesan email pentalan.

**penerima**  
Daftar alamat email tempat tindakan harus dilakukan. Anda dapat menambahkan penerima baru ke respon meskipun mereka tidak disertakan dalam daftar penerima semula. Bidang ini tidak diperlukan jika **allRecipients** benar untuk sebuah tindakan.  
Ketika tindakan Lambda dipanggil untuk email masuk, Anda hanya dapat menambahkan penerima baru yang berasal dari organisasi Anda. Penerima baru ditambahkan ke respon sebagai **BCC**.

**allRecipients**  
Jika benar, berlaku tindakan untuk semua penerima yang tidak tunduk pada tindakan spesifik lain dalam respon Lambda.

### Batas tindakan **Jalankan Lambda** sinkron
<a name="synchronous-limits"></a>

Batasan berikut berlaku saat Amazon WorkMail memanggil fungsi Lambda untuk tindakan **Jalankan Lambda yang sinkron**: 
+ Fungsi Lambda harus merespon dalam waktu 15 detik, atau diperlakukan sebagai permintaan yang gagal.
**catatan**  
Sistem mencoba ulang permintaan untuk interval **Batas waktu habis** yang Anda tentukan.
+ Respon fungsi Lambda hingga 256 KB diperbolehkan.
+ Hingga 10 tindakan unik diperbolehkan dalam respon. Tindakan yang lebih besar dari 10 tunduk pada konfigurasi **Tindakan mundur**. 
+ Hingga 500 penerima diperbolehkan untuk fungsi Lambda keluar.
+ Nilai maksimum untuk **Batas waktu habis** adalah 240 menit. Jika nilai minimum 0 dikonfigurasi, tidak ada percobaan ulang sebelum Amazon WorkMail menerapkan tindakan fallback.

### Kegagalan tindakan **Jalankan Lambda** yang tidak sinkron
<a name="synchronous-failures"></a>

**Jika Amazon tidak WorkMail dapat menjalankan fungsi Lambda karena kesalahan, respons tidak valid, atau batas waktu Lambda, WorkMail Amazon akan mencoba ulang pemanggilan dengan backoff eksponensial yang mengurangi laju pemrosesan hingga periode batas waktu Aturan selesai.** Kemudian, **Tindakan mundur** diterapkan ke semua penerima pesan email. Untuk informasi selengkapnya, lihat [Mengkonfigurasi aturan **Jalankan Lambda** yang sinkron](#synchronous-rules).

## Contoh respon **Jalankan Lambda** sinkron
<a name="synchronous-responses"></a>

Contoh berikut menunjukkan struktur respon umum **Jalankan Lambda** sinkron.

**Example : Hapus penerima yang ditentukan dari pesan email**  
Contoh berikut menunjukkan struktur respon **Jalankan Lambda** sinkron untuk menghapus penerima dari pesan email.  

```
{
    "actions": [
      {
        "action": {
          "type": "DEFAULT"
        },
        "allRecipients": true
      },
      {
        "action": {
          "type": "DROP"
        },
        "recipients": [
          "drop-recipient@example.com"
        ]
      }
    ]
}
```

**Example : Pentalkan dengan pesan email kustom**  
Contoh berikut menunjukkan struktur respon **Jalankan Lambda** yang tidak sinkron untuk mementalkan pesan email kustom.  

```
{
    "actions" : [
      {
        "action" : {
          "type": 'BOUNCE',
          "parameters": {
            "bounceMessage" : "Email in breach of company policy."
          }
        },
        "allRecipients": true
      }
    ]
}
```

**Example : Tambahkan penerima ke pesan email**  
Contoh berikut menunjukkan struktur respon **Jalankan Lambda** sinkron untuk menambahkan penerima ke pesan email. Tindakan ini tidak memperbarui bidang **Kepada** atau **CC** pesan email.  

```
{
    "actions": [
      {
        "action": { 
          "type": "DEFAULT" 
        },
        "recipients": [
          "new-recipient@example.com"
         ]
      },
      {
        "action": { 
          "type": "DEFAULT" 
        },
        "allRecipients": true
      }
    ]
}
```

[Untuk contoh kode lainnya yang akan digunakan saat membuat fungsi Lambda untuk tindakan Jalankan **Lambda, lihat templat Amazon Lambda**. WorkMail ](https://github.com/aws-samples/amazon-workmail-lambda-templates)

## Informasi lebih lanjut tentang menggunakan Lambda dengan Amazon WorkMail
<a name="lambda-more"></a>

Anda juga dapat mengakses konten lengkap pesan email yang memicu fungsi Lambda. Untuk informasi selengkapnya, lihat [Mengambil konten pesan dengan AWS Lambda](lambda-content.md). 

# Mengambil konten pesan dengan AWS Lambda
<a name="lambda-content"></a>

Setelah mengonfigurasi AWS Lambda fungsi untuk mengelola alur email Amazon WorkMail, Anda dapat mengakses konten lengkap pesan email yang diproses menggunakan Lambda. Untuk informasi selengkapnya tentang memulai dengan Lambda untuk Amazon WorkMail, lihat. [Mengkonfigurasi AWS Lambda untuk Amazon WorkMail](lambda.md)

Untuk mengakses konten lengkap pesan email, gunakan `GetRawMessageContent` tindakan di Amazon WorkMail Message Flow API. ID pesan email yang diteruskan ke fungsi Lambda Anda setelah invokasi mengirimkan permintaan ke API. Kemudian, API merespon dengan konten MIME penuh dari pesan email. Untuk informasi selengkapnya, lihat [Alur WorkMail Pesan Amazon](https://docs.aws.amazon.com/workmail/latest/APIReference/API_Operations_Amazon_WorkMail_Message_Flow.html) di *Referensi Amazon WorkMail API*.

Contoh berikut menunjukkan bagaimana fungsi Lambda menggunakan lingkungan waktu aktif Python dapat mengambil isi pesan lengkap.

**Tip**  
Jika Anda mulai dengan menerapkan fungsi Amazon WorkMail [Hello World Lambda](https://console.aws.amazon.com/lambda/home#/create/app?applicationId=arn:aws:serverlessrepo:us-east-1:489970191081:applications/workmail-hello-world-python) dari AWS Serverless Application Repository ke akun Anda, sistem membuat fungsi Lambda di akun Anda dengan semua sumber daya dan izin yang diperlukan. Anda kemudian dapat menambahkan logika bisnis Anda ke fungsi lambda berdasarkan kasus penggunaan Anda.

```
import boto3
import email
import os

def email_handler(event, context):
    workmail = boto3.client('workmailmessageflow', region_name=os.environ["AWS_REGION"])
    msg_id = event['messageId']
    raw_msg = workmail.get_raw_message_content(messageId=msg_id)

    parsed_msg = email.message_from_bytes(raw_msg['messageContent'].read())
    print(parsed_msg)
```

Untuk contoh lebih rinci tentang cara menganalisis konten pesan yang sedang dalam perjalanan, lihat [amazon-workmail-lambda-templates](https://github.com/aws-samples/amazon-workmail-lambda-templates)repositori di. GitHub

**catatan**  
Anda hanya menggunakan Amazon WorkMail Message Flow API untuk mengakses pesan email dalam perjalanan. Anda hanya dapat mengakses pesan dalam waktu 24 jam setelah dikirim atau diterima. Untuk mengakses pesan secara terprogram di kotak pesan pengguna, gunakan salah satu protokol lain yang didukung oleh WorkMail Amazon, seperti IMAP atau Exchange Web Services (EWS).

# Memperbarui konten pesan dengan AWS Lambda
<a name="update-with-lambda"></a>

Setelah mengonfigurasi AWS Lambda fungsi sinkron untuk mengelola alur email, Anda dapat menggunakan `PutRawMessageContent` tindakan di Amazon WorkMail Message flow API untuk memperbarui konten pesan email dalam perjalanan. Untuk informasi selengkapnya tentang memulai fungsi Lambda untuk Amazon WorkMail, lihat. [Mengkonfigurasi aturan **Jalankan Lambda** yang sinkron](lambda.md#synchronous-rules) Untuk informasi selengkapnya tentang API, lihat [ PutRawMessageContent](https://docs.aws.amazon.com/workmail/latest/APIReference/API_messageflow_PutRawMessageContent.html).

**catatan**  
 PutRawMessageContent API membutuhkan boto3 1.17.8, atau Anda dapat menambahkan lapisan ke fungsi Lambda Anda. Untuk mengunduh versi boto3 yang benar, lihat halaman [boto](https://github.com/boto/boto) di. GitHub Untuk informasi lebih lanjut tentang menambahkan lapisan, lihat [Konfigurasikan fungsi untuk menggunakan lapisan](https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html#configuration-layers-using).   
Berikut ini adalah contoh lapisan: `"LayerArn":"arn:aws:lambda:${AWS::Region}:489970191081:layer:WorkMailLambdaLayer:2"`. Dalam contoh ini, gantikan `${AWS::Region}` dengan wilayah aws yang sesuai, seperti us-east-1.

**Tip**  
Jika Anda memulai dengan menerapkan fungsi Amazon WorkMail [Hello World Lambda](https://console.aws.amazon.com/lambda/home#/create/app?applicationId=arn:aws:serverlessrepo:us-east-1:489970191081:applications/workmail-hello-world-python) dari AWS Serverless Application Repository ke akun Anda, sistem akan membuat fungsi Lambda di akun Anda dengan sumber daya dan izin yang diperlukan. Anda kemudian dapat menambahkan logika bisnis ke fungsi lambda berdasarkan kasus penggunaan Anda.

Saat Anda pergi, ingat hal berikut:
+ Gunakan [ GetRawMessageContent](https://docs.aws.amazon.com/workmail/latest/APIReference/API_messageflow_GetRawMessageContent.html)API untuk mengambil konten pesan asli. Untuk informasi lebih lanjut, lihat [Mengambil konten pesan dengan AWS Lambda](lambda-content.md).
+ Setelah Anda memiliki pesan asli, ubah konten MIME. Setelah selesai, unggah pesan ke bucket Amazon Simple Storage Service (Amazon S3) di akun Anda. Pastikan bucket S3 menggunakan hal yang Akun AWS sama dengan WorkMail operasi Amazon Anda, dan bucket tersebut menggunakan Wilayah AWS yang sama dengan panggilan API Anda.
+  WorkMail Agar Amazon dapat memproses permintaan, bucket S3 Anda harus memiliki kebijakan yang benar untuk mengakses objek S3. Untuk informasi selengkapnya, lihat [Example S3 policy](#s3example).
+ Gunakan [ PutRawMessageContent](https://docs.aws.amazon.com/workmail/latest/APIReference/API_messageflow_PutRawMessageContent.html)API untuk mengirim konten pesan yang diperbarui kembali ke Amazon WorkMail.

**catatan**  
`PutRawMessageContent`API memastikan bahwa konten MIME dari pesan yang diperbarui memenuhi standar RFC, serta kriteria yang disebutkan dalam tipe [RawMessageContent](https://docs.aws.amazon.com/workmail/latest/APIReference/API_messageflow_RawMessageContent.html)data. Email yang masuk ke WorkMail organisasi Amazon Anda tidak selalu memenuhi standar tersebut, sehingga `PutRawMessageContent` API dapat menolaknya. Dalam kasus tersebut, Anda dapat berkonsultasi tentang pesan kesalahan yang dikembalikan untuk mendapatkan informasi selengkapnya tentang cara memperbaiki masalah.

**Example Contoh kebijakan S3**    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "workmail.REGION.amazonaws.com"
            },
            "Action": [
                "s3:GetObject",
                "s3:GetObjectVersion"
            ],
            "Resource": "arn:aws:s3:::My-Test-S3-Bucket/*",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "111122223333"
                },
                "Bool": {
                    "aws:SecureTransport": "true"
                },
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:workmailmessageflow:us-east-1:111122223333:message/WORKMAIL_ORGANIZATION_ID/*"
                }
            }
        }
    ]
}
```

Contoh berikut menunjukkan bagaimana fungsi Lambda menggunakan waktu aktif Python untuk memperbarui subjek pesan email di transit.

```
    import boto3
    import os
    import uuid
    import email
     
    def email_handler(event, context):
        workmail = boto3.client('workmailmessageflow', region_name=os.environ["AWS_REGION"])
        s3 = boto3.client('s3', region_name=os.environ["AWS_REGION"])
        
        msg_id = event['messageId']
        raw_msg = workmail.get_raw_message_content(messageId=msg_id)
        parsed_msg = email.message_from_bytes(raw_msg['messageContent'].read())
        
        # Updating subject. For more examples, see https://github.com/aws-samples/amazon-workmail-lambda-templates.
        parsed_msg.replace_header('Subject', "New Subject Updated From Lambda")
       
        # Store updated email in S3
        key = str(uuid.uuid4());
        s3.put_object(Body=parsed_msg.as_bytes(), Bucket="amzn-s3-demo-bucket", Key=key)
     
        # Update the email in WorkMail
        s3_reference = {
            'bucket': "amzn-s3-demo-bucket",
            'key': key
        }
        content = {
            's3Reference': s3_reference
        }
        workmail.put_raw_message_content(messageId=msg_id, content=content)
```

Untuk lebih banyak contoh cara menganalisis konten pesan dalam transit, lihat [ amazon-workmail-lambda-templates](https://github.com/aws-samples/amazon-workmail-lambda-templates)repositori di. GitHub

# Mengelola akses ke Amazon WorkMail Message Flow API
<a name="lambda-content-access"></a>

Gunakan kebijakan AWS Identity and Access Management (IAM) untuk mengelola akses ke Amazon WorkMail Message Flow API.

Amazon WorkMail Message Flow API bekerja dengan satu jenis sumber daya, pesan email dalam perjalanan. Setiap pesan email di transit memiliki Amazon Resource Name (ARN) yang unik terkait dengannya.

Contoh berikut menunjukkan sintaks ARN terkait dengan pesan email di transit.

```
arn:aws:workmailmessageflow:region:account:message/organization/context/messageID
```

Bidang yang dapat diubah dalam contoh sebelumnya meliputi:
+ **Wilayah — Wilayah** AWS untuk WorkMail organisasi Amazon Anda.
+ **Akun** — Akun AWS ID untuk WorkMail organisasi Amazon Anda.
+ **Organisasi** — ID WorkMail organisasi Amazon Anda.
+ **Konteks** — Menunjukkan apakah pesan `incoming` ke organisasi Anda, atau `outgoing` darinya.
+ **ID Pesan** — ID pesan email unik yang disampaikan sebagai masukan ke fungsi Lambda Anda.

Contoh berikut mencakup contoh IDs untuk ARN yang terkait dengan pesan email masuk dalam perjalanan.

```
arn:aws:workmailmessageflow:us-east-1:111122223333:message/m-n1pq2345678r901st2u3vx45x6789yza/incoming/d1234567-8e90-1f23-456g-hjk7lmnop8q9                
```

Anda dapat menggunakan ini ARNs sebagai sumber daya di `Resource` bagian kebijakan pengguna IAM Anda untuk mengelola akses ke WorkMail pesan Amazon dalam perjalanan.

## Contoh kebijakan IAM untuk akses aliran WorkMail pesan Amazon
<a name="lambda-content-policies"></a>

Contoh kebijakan berikut memberikan entitas IAM akses baca penuh ke semua pesan masuk dan keluar untuk setiap organisasi Amazon WorkMail di Anda. Akun AWS

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "workmailmessageflow:GetRawMessageContent"
            ],
            "Resource": "arn:aws:workmailmessageflow:us-east-1:111122223333:message/*",
            "Effect": "Allow"
        }
    ]
}
```

------

Jika Anda memiliki beberapa organisasi di Anda Akun AWS, Anda juga dapat membatasi akses ke satu atau beberapa organisasi. Hal ini berguna jika fungsi Lambda tertentu hanya boleh digunakan untuk organisasi tertentu.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "workmailmessageflow:GetRawMessageContent"
            ],
            "Resource": "arn:aws:workmailmessageflow:us-east-1:111122223333:message/organization/*",
            "Effect": "Allow"
        }
    ]
}
```

------

Anda juga dapat memilih untuk memberikan akses ke pesan tergantung pada apakah pesan tersebut `incoming` ke organisasi Anda, atau `outgoing` darinya. Untuk melakukannya, gunakan pengkualifikasi `incoming` atau `outgoing` di ARN. 

Kebijakan contoh berikut memberikan akses hanya ke pesan yang masuk ke organisasi Anda.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "workmailmessageflow:GetRawMessageContent"
            ],
            "Resource": "arn:aws:workmailmessageflow:us-east-1:111122223333:message/organization/incoming/*",
            "Effect": "Allow"
        }
    ]
}
```

------

Contoh kebijakan berikut memberikan akses baca dan pembaruan lengkap kepada entitas IAM ke semua pesan masuk dan keluar untuk setiap organisasi Amazon WorkMail di Anda. Akun AWS

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "workmailmessageflow:GetRawMessageContent",
                "workmailmessageflow:PutRawMessageContent"
            ],
            "Resource": "arn:aws:workmailmessageflow:us-east-1:111122223333:message/*",
            "Effect": "Allow"
        }
    ]
}
```

------

# Menguji aturan alur email
<a name="test-email-flow-rule"></a>

Untuk memeriksa konfigurasi aturan Anda saat ini, Anda dapat menguji bagaimana konfigurasi berperilaku terhadap alamat email tertentu. 

**Untuk menguji aturan alur email**

1. Buka WorkMail konsol Amazon di [https://console.aws.amazon.com/workmail/](https://console.aws.amazon.com/workmail/).

   Jika perlu, ubah Wilayah AWS. Di bilah di bagian atas jendela konsol, buka daftar **Pilih Wilayah** dan pilih Wilayah. Untuk informasi selengkapnya, lihat [ Wilayah dan titik akhir](https://docs.aws.amazon.com/general/latest/gr/index.html?rande.html) di *Referensi Umum Amazon Web*.

1. Di panel navigasi, pilih **Organizations**, lalu pilih nama organisasi Anda.

1. Di panel navigasi, pilih **Pengaturan Organisasi**, **Aturan masuk/keluar**.

1. Di samping **Konfigurasi pengujian**, masukkan alamat email lengkap pengirim dan penerima yang ingin Anda uji.

1. Pilih **Uji**. Tindakan yang akan diambil untuk alamat email yang disediakan akan ditampilkan.

# Menghapus aturan alur email
<a name="remove-email-flow-rule"></a>

Bila Anda menghapus aturan alur email, perubahan tersebut akan segera diterapkan.

**Untuk menghapus aturan alur email**

1. Buka WorkMail konsol Amazon di [https://console.aws.amazon.com/workmail/](https://console.aws.amazon.com/workmail/).

   Jika perlu, ubah Wilayah AWS. Di bilah di bagian atas jendela konsol, buka daftar **Pilih Wilayah** dan pilih Wilayah. Untuk informasi selengkapnya, lihat [ Wilayah dan titik akhir](https://docs.aws.amazon.com/general/latest/gr/index.html?rande.html) di *Referensi Umum Amazon Web*.

1. Di panel navigasi, pilih **Organizations**, lalu pilih nama organisasi Anda.

1. Di panel navigasi, pilih **Pengaturan Organisasi**, **Aturan masuk/keluar**.

1. Pilih aturan dan pilih **Hapus**. 

1. Pada prompt konfirmasi, pilih **Hapus**.