

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Utilisation de l'interface SMTP d'Amazon SES pour envoyer des e-mails
<a name="send-email-smtp"></a>

Pour envoyer un e-mail de production via Amazon SES, vous pouvez utiliser l'interface protocole SMTP (Simple Mail Transfer Protocol) ou l'API Amazon SES. Pour en savoir plus sur l'API Amazon SES, consultez [Utilisation de l'API Amazon SES pour envoyer un e-mail](send-email-api.md). Cette section décrit l'interface SMTP.

Amazon SES envoie des e-mails à l'aide de SMTP, qui est le protocole de messagerie le plus courant sur Internet. Vous pouvez envoyer des e-mails via Amazon SES en utilisant différents langages de programmation et logiciels compatibles avec SMTP pour vous connecter à l'interface SMTP Amazon SES. Cette section explique comment obtenir vos informations d'identification SMTP Amazon SES, comment envoyer des e-mails à l'aide de l'interface SMTP et comment configurer plusieurs logiciels et serveurs de messagerie afin d'utiliser Amazon SES pour envoyer des e-mails.

Pour trouver des solutions aux problèmes courants que vous êtes susceptible de rencontrer lors de l'utilisation d'Amazon SES via son interface SMTP, consultez [Problèmes SMTP Amazon SES](troubleshoot-smtp.md). 

## Conditions requises pour envoyer des e-mails via SMTP
<a name="send-email-smtp-requirements"></a>

Pour envoyer des e-mails à l'aide de l'interface SMTP Amazon SES, vous aurez besoin des éléments suivants :
+ Adresse du point de terminaison SMTP. Pour obtenir la liste des points de terminaison SMTP Amazon SES, consultez [Connexion à un point de terminaison SMTP Amazon SES](smtp-connect.md).
+ Le numéro de port de l'interface SMTP. Le numéro de port varie selon la méthode de connexion. Pour plus d'informations, consultez [Connexion à un point de terminaison SMTP Amazon SES](smtp-connect.md).
+ Un nom d'utilisateur et un mot de passe SMTP. Les informations d'identification SMTP sont uniques pour chaque région AWS . Si vous prévoyez d'utiliser l'interface SMTP pour envoyer des e-mails dans plusieurs régions AWS , vous avez besoin d'informations d'identification SMTP pour chaque région.
**Important**  
Vos informations d'identification SMTP ne sont pas identiques à vos clés d' AWS accès ou à celles que vous utilisez pour vous connecter à la console Amazon SES. Pour plus d'informations sur la manière de générer vos informations d'identification SMTP, consultez [Obtention des informations d'identification SMTP Amazon SES](smtp-credentials.md).
+ Un logiciel client capable de communiquer à l'aide du protocole TLS (Transport Layer Security). Pour plus d'informations, consultez [Connexion à un point de terminaison SMTP Amazon SES](smtp-connect.md).
+ Une adresse e-mail que vous avez vérifiée auprès d'Amazon SES. Pour plus d'informations, consultez [Identités vérifiées dans Amazon SES](verify-addresses-and-domains.md).
+ Augmentation des quotas d'envoi, si vous souhaitez envoyer de grandes quantités d'e-mails. Pour plus d'informations, consultez [Gestion de vos limites d'envoi Amazon SES](manage-sending-quotas.md).

## Méthodes d'envoi d'e-mails via SMTP
<a name="send-email-methods"></a>

Vous pouvez envoyer des e-mails via SMTP par l'une des méthodes suivantes :
+ Pour configurer ces logiciels compatibles avec SMTP de façon à envoyer des e-mails via l'interface SMTP Amazon SES, consultez [Envoi d'e-mails via Amazon SES à l'aide de packages logiciels](send-email-smtp-software-package.md).
+ Pour programmer une application de façon à envoyer des e-mails via Amazon SES, consultez [Envoi d'un e-mail via l'interface SMTP Amazon SES par programmation](send-using-smtp-programmatically.md).
+ Pour configurer un serveur de messagerie existant de façon à envoyer tous vos messages sortants via Amazon SES, consultez [Intégration d'Amazon SES à votre serveur de messagerie existant](send-email-smtp-existing-server.md).
+ Pour interagir avec l'interface SMTP Amazon SES à l'aide de la ligne de commande, ce qui peut être utile pour les tests, consultez [Test de votre connexion à l'interface SMTP Amazon SES à l'aide de la ligne de commande](send-email-smtp-client-command-line.md).

Pour obtenir la liste des codes de réponse SMTP, consultez [Codes de réponse SMTP renvoyés par Amazon SES](troubleshoot-smtp.md#troubleshoot-smtp-response-codes).

## Informations à fournir pour les e-mails
<a name="smtp-parameters"></a>

Lorsque vous accédez à Amazon SES via l'interface SMTP, votre application cliente SMTP assemble le message de façon à ce que les informations à fournir dépendent de l'application que vous utilisez. Un échange SMTP entre un client et un serveur nécessite au minimum les éléments suivants : 
+ Une adresse source
+ Une adresse de destination
+ Des données de message

Si vous utilisez l'interface SMTP et que le transfert de commentaires est activé, les retours à l'expéditeur, les réclamations et les notifications de livraison sont envoyées à l'adresse de l'expéditeur du message. Toute adresse « Répondre à » que vous spécifiez n'est pas utilisée.



# Obtention des informations d'identification SMTP Amazon SES
<a name="smtp-credentials"></a>

Vous avez besoin des identifiants SMTP d'Amazon SES pour accéder à l'interface SMTP de SES.

Les informations d'identification que vous utilisez pour envoyer des e-mails via l'interface SMTP de SES sont uniques à chaque AWS région. Si vous utilisez l'interface SMTP SES pour envoyer des e-mails dans plusieurs régions, vous devez générer un ensemble d'informations d'identification d'identification SMTP pour chaque région que vous prévoyez d'utiliser.

Votre mot de passe SMTP est différent de votre clé d'accès AWS secrète. Pour en savoir plus sur les informations d'identification, consultez [Types d'informations d'identification Amazon SES](send-email-concepts-credentials.md).

**Note**  
Pour obtenir la liste des points de terminaison SMTP actuellement disponibles, consultez la section Points de [terminaison SMTP](https://docs.aws.amazon.com/general/latest/gr/ses.html#ses_smtp_endpoints) dans le. *Références générales AWS* 

## Obtention d'informations d'identification SMTP SES à l'aide de la console SES
<a name="smtp-credentials-console"></a>

**Exigence**  
Un utilisateur IAM peut créer des informations d'identification SMTP SES, mais la stratégie de l'utilisateur doit disposer d'une autorisation d'utilisation d'IAM, car les informations d'identification SMTP SES sont créées via IAM. Votre stratégie IAM doit vous permettre d'exécuter les actions IAM suivantes : `iam:ListUsers`, `iam:CreateUser`, `iam:CreateAccessKey`, et `iam:PutUserPolicy`. Si vous essayez de créer des informations d'identification SMTP SES à l'aide de la console et que votre utilisateur IAM ne dispose pas de ces autorisations, un message d'erreur indiquant que votre compte n'est *« pas autorisé à exécuter iam* : » s'affiche. ListUsers

**Important**  
Les actions IAM référencées ci-dessus ont le niveau d'accès à la [gestion des autorisations](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_understand-policy-summary-access-level-summaries.html#access_policies_access-level), qui est le niveau IAM le plus élevé, car il donne l'autorisation d'accorder ou de modifier des autorisations de ressources dans le service. Par conséquent, pour améliorer la sécurité de votre AWS compte, il est vivement recommandé de restreindre ou de surveiller régulièrement ces politiques qui incluent la classification des niveaux d'accès à la gestion des autorisations.

**Pour créer vos informations d'identification SMTP**

1. Connectez-vous à la console Amazon SES AWS Management Console et ouvrez-la à l'adresse [https://console.aws.amazon.com/ses/](https://console.aws.amazon.com/ses/).

1. Choisissez **SMTP settings (Paramètres SMTP)** dans le panneau de navigation de gauche pour ouvrir la page des **paramètres du protocole SMTP (Simple Mail Transfer Protocol)**.

1. Choisissez **Create SMTP Credentials (Création des informations d'identification SMTP)** en haut à droite : la console IAM s'ouvre.

1. (Facultatif) Si vous devez afficher, modifier ou supprimer des utilisateurs SMTP que vous avez déjà créés, choisissez **Manage my existing SMTP credentials (Gérer mes informations d'identification SMTP existantes)** en bas à droite : la console IAM s'ouvre. Les détails relatifs à la gestion des informations d'identification SMTP sont fournis en suivant ces procédures.

1. Pour **Créer un utilisateur pour SMTP**, saisissez un nom d'utilisateur SMTP dans le champ **Nom d'utilisateur**. Vous pouvez également utiliser la valeur par défaut qui est fourni dans ce champ. Lorsque vous avez terminé, sélectionnez **Créer un utilisateur** dans le coin inférieur droit.

1. Sélectionnez **Afficher** sous *Mot de passe SMTP* – vos informations d'identification SMTP s'affichent à l'écran.

1. Téléchargez ces informations d'identification en sélectionnant **Télécharger le fichier .csv** ou copiez-les et stockez-les en lieu sûr, car vous ne pourrez plus les afficher ou les enregistrer après avoir fermé cette boîte de dialogue.

1. Choisissez **Revenir à la console SES**.

Vous pouvez afficher la liste des informations d'identification SMTP que vous avez créées à l'aide de cette procédure dans la console IAM sous **Access management (Gestion des accès)** et en choisissant **Users (Utilisateurs)** puis en utilisant la barre de recherche pour trouver tous les utilisateurs auxquels vous avez affecté des informations d'identification SMTP.

Vous pouvez également utiliser la console IAM pour supprimer des utilisateurs SMTP existants. Pour en savoir plus sur la suppression d'utilisateurs, consulte z[Gestion des utilisateurs IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_manage.html) dans le *Guide de mise en route IAM*.

Si vous souhaitez modifier votre mot de passe SMTP, supprimez votre utilisateur SMTP existant dans la console IAM. Ensuite, effectuez les procédures ci-dessus pour générer un nouvel ensemble d'informations d'identification SMTP.

## Obtention des informations d'identification SMTP SES en convertissant les informations d'identification existantes AWS
<a name="smtp-credentials-convert"></a>

Si vous avez configuré un utilisateur à l'aide de l'interface IAM, vous pouvez déduire les informations d'identification SMTP SES de l'utilisateur à partir de ses AWS informations d'identification.

**Important**  
N'utilisez pas d' AWS informations d'identification temporaires pour obtenir des informations d'identification SMTP. L'interface SMTP SES ne prend pas en charge les informations d'identification SMTP qui ont été générées à partir d'informations d'identification de sécurité temporaires. 

**Pour permettre à l'utilisateur IAM d'envoyer des e-mails à l'aide de l'interface SMTP SES**

1. Dérivez les informations d'identification SMTP de l'utilisateur à partir de ses AWS informations d'identification en utilisant l'algorithme fourni dans cette section en suivant ces procédures.

   Comme vous partez des AWS informations d'identification, le nom d'utilisateur SMTP est identique à l'ID de la clé AWS d'accès. Il vous suffit donc de générer le mot de passe SMTP.

1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)l'adresse.

1. Sous **Gestion des accès**, sélectionnez **Politiques**, puis **Créer une politique**.

1. Dans l'**éditeur de politiques**, sélectionnez **JSON** et supprimez tout exemple de code dans l'éditeur.

1. Collez la politique d'autorisation suivante dans l'éditeur :

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

****  

   ```
   {
   "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
   "Effect": "Allow",
               "Action": "ses:SendRawEmail",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Sélectionnez **Suivant** et entrez `AmazonSesSendingAccess` dans le champ **Nom de la politique**, puis **Créer une politique**.

1. Sous **Gestion des accès**, sélectionnez **Groupes d'utilisateurs**, puis **Créer un groupe**.

1. Entrez `AWSSESSendingGroupDoNotRename` dans le champ **Nom du groupe d'utilisateurs**.

1. Ajoutez des utilisateurs SMTP au groupe en les sélectionnant dans le tableau **Ajouter des utilisateurs au groupe**.

1. Joignez la `AmazonSesSendingAccess` politique créée précédemment en la sélectionnant dans le tableau **Joindre des politiques d'autorisation**, puis en cliquant sur **Créer un groupe d'utilisateurs**.

Pour plus d'informations sur l'utilisation de SES avec IAM, consultez [Gestion des identités et des accès dans Amazon SES](control-user-access.md).

**Note**  
Bien que vous puissiez générer des informations d'identification SMTP SES pour tout utilisateur IAM, nous vous recommandons de créer un utilisateur IAM distinct lorsque vous générez vos informations d'identification SMTP. Pour en savoir plus sur les raisons pour lesquelles il est recommandé de créer des utilisateurs à des fins spécifiques, consultez [Bonnes pratiques IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/IAMBestPractices.html).

Le pseudocode suivant montre l'algorithme qui convertit une clé d'accès AWS secrète en mot de passe SMTP SES.

```
 1. // Modify this variable to include your AWS secret access key
 2. key = "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY";
 3.             
 4. // Modify this variable to refer to the AWS Region that you want to use to send email.
 5. region = "us-west-2";
 6.             
 7. // The values of the following variables should always stay the same.
 8. date = "11111111";
 9. service = "ses";
10. terminal = "aws4_request";
11. message = "SendRawEmail";
12. version = 0x04;
13. 
14. kDate = HmacSha256(date, "AWS4" + key);
15. kRegion = HmacSha256(region, kDate);
16. kService = HmacSha256(service, kRegion);
17. kTerminal = HmacSha256(terminal, kService);
18. kMessage = HmacSha256(message, kTerminal);
19. signatureAndVersion = Concatenate(version, kMessage);
20. smtpPassword = Base64(signatureAndVersion);
```

Certains langages de programmation incluent des bibliothèques que vous pouvez utiliser pour convertir une clé d'accès secrète IAM en mot de passe SMTP. Cette section inclut un exemple de code que vous pouvez utiliser pour convertir une clé d'accès AWS secrète en mot de passe SMTP SES à l'aide de Python.

**Note**  
L'exemple suivant utilise des **f-strings** qui ont été introduites dans Python 3.6 ; si vous utilisez une version plus ancienne, elles ne fonctionneront pas.
Dans l'exemple suivant, la liste de SMTP\$1REGIONS n'est qu'un exemple : votre liste réelle de régions peut être plus ou moins longue en fonction des régions dans lesquelles vous prévoyez d'envoyer des e-mails, car vous aurez besoin d'informations d'identification SMTP pour chacune d'elles. Région AWS

------
#### [ Python ]

```
#!/usr/bin/env python3

import hmac
import hashlib
import base64
import argparse

SMTP_REGIONS = [
    "us-east-2",  # US East (Ohio)
    "us-east-1",  # US East (N. Virginia)
    "us-west-2",  # US West (Oregon)
    "ap-south-1",  # Asia Pacific (Mumbai)
    "ap-northeast-2",  # Asia Pacific (Seoul)
    "ap-southeast-1",  # Asia Pacific (Singapore)
    "ap-southeast-2",  # Asia Pacific (Sydney)
    "ap-northeast-1",  # Asia Pacific (Tokyo)
    "ca-central-1",  # Canada (Central)
    "eu-central-1",  # Europe (Frankfurt)
    "eu-west-1",  # Europe (Ireland)
    "eu-west-2",  # Europe (London)
    "eu-south-1",  # Europe (Milan)
    "eu-north-1",  # Europe (Stockholm)
    "sa-east-1",  # South America (Sao Paulo)
    "us-gov-west-1",  # AWS GovCloud (US)
    "us-gov-east-1",  # AWS GovCloud (US)
]

# These values are required to calculate the signature. Do not change them.
DATE = "11111111"
SERVICE = "ses"
MESSAGE = "SendRawEmail"
TERMINAL = "aws4_request"
VERSION = 0x04


def sign(key, msg):
    return hmac.new(key, msg.encode("utf-8"), hashlib.sha256).digest()


def calculate_key(secret_access_key, region):
    if region not in SMTP_REGIONS:
        raise ValueError(f"The {region} Region doesn't have an SMTP endpoint.")

    signature = sign(("AWS4" + secret_access_key).encode("utf-8"), DATE)
    signature = sign(signature, region)
    signature = sign(signature, SERVICE)
    signature = sign(signature, TERMINAL)
    signature = sign(signature, MESSAGE)
    signature_and_version = bytes([VERSION]) + signature
    smtp_password = base64.b64encode(signature_and_version)
    return smtp_password.decode("utf-8")


def main():
    parser = argparse.ArgumentParser(
        description="Convert a Secret Access Key to an SMTP password."
    )
    parser.add_argument("secret", help="The Secret Access Key to convert.")
    parser.add_argument(
        "region",
        help="The AWS Region where the SMTP password will be used.",
        choices=SMTP_REGIONS,
    )
    args = parser.parse_args()
    print(calculate_key(args.secret, args.region))


if __name__ == "__main__":
    main()
```

Pour obtenir votre mot de passe SMTP à l'aide de ce script, enregistrez le code précédent en tant que `smtp_credentials_generate.py`. Exécutez la ligne de commande suivante au moment de l'invite :

```
python path/to/smtp_credentials_generate.py wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY us-east-1
```

Dans la commande précédente, procédez comme suit :
+ Remplacez *path/to/* par le chemin d'accès à l'emplacement où vous avez enregistré`smtp_credentials_generate.py`.
+ *wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY*Remplacez-la par la clé d'accès secrète que vous souhaitez convertir en mot de passe SMTP.
+ *us-east-1*Remplacez-le par la AWS région dans laquelle vous souhaitez utiliser les informations d'identification SMTP.

Lorsque ce script s'exécute correctement, la seule sortie est votre mot de passe SMTP.

------

## Migration d'un utilisateur SMTP d'une politique en ligne existante vers une politique de groupe (recommandation de sécurité)
<a name="migrate-inline-policy-to-group"></a>

**Important**  
Si vous avez créé des informations d'identification SMTP SES avant le 6 septembre 2024, une politique intégrée et une balise ont été associées à votre utilisateur SMTP. SES s'éloigne des politiques intégrées et vous encourage à faire de même en tant que recommandation de sécurité.

Avant de migrer un utilisateur SMTP d'une politique en ligne existante vers une stratégie de groupe, vous devez d'abord créer un groupe d'utilisateurs IAM avec la politique d'autorisations SES qui remplacera la politique en ligne. Si vous avez déjà créé ce groupe d'utilisateurs IAM, ou s'il a été créé automatiquement pour les informations d'identification SMTP que vous avez créées à partir du 6 septembre 2024, vous pouvez passer directement à l'*étape 10* des procédures suivantes.

**Pour migrer d'une politique en ligne existante vers un groupe géré**

1. Connectez-vous à la console IAM AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)l'adresse.

1. Sous **Gestion des accès**, sélectionnez **Politiques**, puis **Créer une politique**.

1. Dans l'**éditeur de politiques**, sélectionnez **JSON** et supprimez tout exemple de code dans l'éditeur.

1. Collez la politique d'autorisation suivante dans l'éditeur :

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

****  

   ```
   {
   "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
   "Effect": "Allow",
               "Action": "ses:SendRawEmail",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Sélectionnez **Suivant** et entrez `AmazonSesSendingAccess` dans le champ **Nom de la politique**, puis **Créer une politique**.

1. Sous **Gestion des accès**, sélectionnez **Groupes d'utilisateurs**, puis **Créer un groupe**.

1. Entrez `AWSSESSendingGroupDoNotRename` dans le champ **Nom du groupe d'utilisateurs**.

1. Ajoutez des utilisateurs SMTP au groupe en les sélectionnant dans le tableau **Ajouter des utilisateurs au groupe**.

1. Joignez la `AmazonSesSendingAccess` politique créée précédemment en la sélectionnant dans le tableau **Joindre des politiques d'autorisation**, puis en cliquant sur **Créer un groupe d'utilisateurs**.

   Maintenant que vous avez créé le groupe d'utilisateurs IAM avec la politique d'autorisations SES, vous pouvez faire migrer un utilisateur SMTP de sa politique en ligne actuelle vers cette politique de groupe, comme expliqué dans les étapes restantes.

1. Sous **Gestion des accès**, choisissez **Utilisateurs**, puis sélectionnez l'utilisateur SMTP que vous souhaitez migrer.

1. Sélectionnez l'onglet **Groupes** et choisissez **Ajouter un utilisateur aux groupes**.

1. Sélectionnez le `AWSSESSendingGroupDoNotRename` groupe suivi de **Ajouter un utilisateur à un ou** plusieurs groupes.

1. Sélectionnez l'onglet **Autorisations** et vérifiez que deux lignes sont répertoriées dans `AmazonSesSendingAccess` la colonne **Nom de la politique**, l'une avec *Inline* et l'autre avec *Group `AWSSESSendingGroupDoNotRename`* répertorié dans la colonne **Attached via**.

1. Sélectionnez uniquement la ligne qui figure `AmazonSesSendingAccess` dans la colonne **Nom de la politique** et *Inline* dans la colonne **Attached via**, suivie de **Supprimer** et de confirmer avec **Supprimer la politique**.

   Vérifiez que la ligne contenant le *groupe `AWSSESSendingGroupDoNotRename`* dans la colonne **Attached via** est conservée.

1. Sélectionnez l'onglet **Tags**, puis **Manage tags**.

1. Sélectionnez **Supprimer** à côté de la ligne figurant *InvokedBy*dans la colonne **Clé** et *SESConsole*dans la colonne **Valeur**, puis **Enregistrer les modifications**.

**Important**  
La `AmazonSesSendingAccess` politique (soit en ligne, soit en tant que stratégie de groupe, soit les deux) doit rester attachée à l'utilisateur SMTP pour s'assurer que son envoi n'est pas impacté. Ne supprimez la politique intégrée qu'une fois que la stratégie de groupe est attachée à votre utilisateur. 

# Connexion à un point de terminaison SMTP Amazon SES
<a name="smtp-connect"></a>

Pour envoyer un e-mail à l'aide de l'interface SMTP Amazon SES, vous devez vous connecter à un point de terminaison SMTP. Pour obtenir la liste complète des points de terminaison SMTP Amazon SES, veuillez consulter [Points de terminaison et quotas Amazon Simple Email Service](https://docs.aws.amazon.com/general/latest/gr/ses.html) dans le document *Références générales AWS*.

Le point de terminaison SMTP Amazon SES nécessite que toutes les connexions soient chiffrées à l'aide du protocole TLS (Transport Layer Security). (Notez que le protocole TLS est souvent désigné par le nom de son prédécesseur, le protocole SSL.) Amazon SES prend en charge deux mécanismes d'établissement d'une connexion à chiffrement TLS : STARTTLS et TLS Wrapper. Consultez la documentation de votre logiciel pour déterminer s'il prend en charge STARTTLS, TLS Wrapper ou les deux.

Amazon Elastic Compute Cloud (Amazon EC2) limite par défaut le trafic des e-mails sur le port 25. Pour éviter les délais d'expiration lors de l'envoi d'e-mails via le point de terminaison SMTP à partir d'EC2, remplissez une [Demande de suppression des limites d'envoi d'e-mails](https://aws-portal.amazon.com/gp/aws/html-forms-controller/contactus/ec2-email-limit-rdns-request) pour supprimer la limite. Vous pouvez également envoyer des e-mails à l'aide d'un autre port ou utiliser un [point de terminaison d'un VPC Amazon](send-email-set-up-vpc-endpoints.md).

Pour des problèmes de connexion SMTP, consultez [Problèmes SMTP](troubleshoot-smtp.md).

## STARTTLS
<a name="smtp-connect-starttls"></a>

STARTTLS est un moyen de mettre à niveau une connexion non chiffrée en connexion chiffrée. Il existe différentes versions de STARTTLS selon les protocoles. La version SMTP est définie dans [RFC 3207](https://www.ietf.org/rfc/rfc3207.txt).

Pour configurer une connexion STARTTLS, le client SMTP se connecte au point de terminaison SMTP Amazon SES sur le port 25, 587 ou 2587, émet une commande EHLO et attend que le serveur annonce qu'il prend en charge l'extension SMTP STARTTLS. Le client émet ensuite la commande STARTTLS afin de lancer la négociation TLS. Une fois la négociation terminée, le client émet une commande EHLO via la nouvelle connexion chiffrée et la session SMTP se poursuit normalement.

## TLS Wrapper
<a name="smtp-connect-tlswrapper"></a>

TLS Wrapper (également connu sous le nom de SMTPS ou de protocole de négociation) est un moyen de lancer une connexion chiffrée sans commencer par établir une connexion non chiffrée. Avec TLS Wrapper, le point de terminaison SMTP Amazon SES n'effectue pas de négociation TLS : c'est la responsabilité du client de se connecter au point de terminaison à l'aide de TLS et de continuer à utiliser TLS pour la totalité de la conversation. TLS Wrapper est un protocole plus ancien, mais de nombreux clients continuent de le prendre en charge.

Pour configurer une connexion TLS Wrapper, le client SMTP se connecte au point de terminaison SMTP Amazon SES sur le port 465 ou 2465. Le serveur présente son certificat, le client émet une commande EHLO et la session SMTP se poursuit normalement.

# Envoi d'e-mails via Amazon SES à l'aide de packages logiciels
<a name="send-email-smtp-software-package"></a>

Il existe un certain nombre de packages logiciels commerciaux ou open source qui prennent en charge l'envoi d'e-mails via SMTP. Voici quelques exemples :
+ Plates-formes de création de blogs
+ Agrégateurs RSS
+ Logiciel de gestion de liste
+ Systèmes de flux de travail

Vous pouvez configurer ces logiciels compatibles avec SMTP de façon à envoyer des e-mails via l'interface SMTP Amazon SES. Pour obtenir des instructions sur la configuration de SMTP pour un package logiciel spécifique, consultez la documentation du logiciel concerné.

La procédure suivante montre comment configurer l'envoi Amazon SES dans JIRA, une solution de suivi des problèmes connue. Avec cette configuration, JIRA peut avertir les utilisateurs par e-mail dès qu'un problème de logiciel change de statut.

**Pour configurer JIRA de façon à envoyer un e-mail à l'aide d'Amazon SES**

1. À l'aide de votre navigateur Web, connectez-vous à JIRA avec des informations d'identification de l'administrateur.

1. Dans la fenêtre du navigateur, choisissez **Administration (Administration)**.

1. Dans le menu **System (Système)**, choisissez **Mail (e-mail)**.

1. Sur la page **Mail administration (Administration des e-mails)**, choisissez **Mail Servers (Serveurs des e-mails)**.

1. Choisissez **Configure new SMTP mail server (Configurer un nouveau serveur de messagerie SMTP)**.

1. Sur l'écran **Add SMTP Mail Server (Ajouter un serveur de messagerie SMTP)**, remplissez les champs suivants :

   1. **Name (Nom)** – Nom descriptif pour ce serveur.

   1. **From address (Adresse d'origine)** – Adresse à partir de laquelle l'e-mail de retour à l'expéditeur sera envoyé. Vous devez vérifier cette adresse e-mail avec Amazon SES avant de pouvoir l'utiliser pour envoyer des messages. Pour en savoir plus sur la vérification, consultez [Identités vérifiées dans Amazon SES](verify-addresses-and-domains.md).

   1. **Email prefix (Préfixe de l'e-mail)** – Chaîne que JIRA ajoute à chaque ligne d'objet avant l'envoi.

   1. **Protocol (Protocole)** – Choisissez **SMTP**.
**Note**  
Si vous ne pouvez pas vous connecter à Amazon SES à l'aide de ce paramètre, essayez **SECURE\$1SMTP**.

   1. **Host Name (Nom d'hôte)** – Pour obtenir la liste des points de terminaison SMTP Amazon SES, consultez [Connexion à un point de terminaison SMTP Amazon SES](smtp-connect.md). Par exemple, si vous souhaitez utiliser le point de terminaison Amazon SES dans la région USA Ouest (Oregon), le nom d'hôte est *email-smtp.us-west-2.amazonaws.com*.

   1. **SMTP port**—25, 587 ou 2587 (pour vous connecter à l'aide de STARTTLS), ou 465 ou 2465 (pour vous connecter à l'aide de TLS Wrapper).

   1. **TLS** – Activez la case à cocher.

   1. **User name (Nom d'utilisateur)** – Votre nom d'utilisateur SMTP.

   1. **Password (Mot de passe)** – Votre mot de passe SMTP.

   Vous pouvez voir les paramètres pour TLS Wrapper dans l'image suivante.  
![\[SMTP email configuration for JIRA (Configuration d'e-mails SMTP pour JIRA)\]](http://docs.aws.amazon.com/fr_fr/ses/latest/dg/images/SMTP_jira.png)

1. Choisissez **Test Connection (Connexion test)**. Si l'e-mail de test envoyé par JIRA via Amazon SES arrive correctement, cela indique que votre configuration est terminée.

# Envoi d'un e-mail via l'interface SMTP Amazon SES par programmation
<a name="send-using-smtp-programmatically"></a>

Pour envoyer un e-mail à l'aide de l'interface SMTP Amazon SES, vous pouvez utiliser un langage de programmation, un serveur de messagerie ou une application compatible avec SMTP. Avant de commencer, complétez les tâches dans [Configuration d'Amazon Simple Email Service](setting-up.md). Vous aurez également besoin d'obtenir les informations supplémentaires suivantes : 
+ Vos informations d'identification Amazon SMTP SES, qui vous permettent de vous connecter au point de terminaison Amazon SMTP SES. Pour obtenir vos informations d'identification SMTP Amazon SES, consultez [Obtention des informations d'identification SMTP Amazon SES](smtp-credentials.md). 
**Important**  
Vos informations d'identification SMTP sont différentes de vos AWS informations d'identification. Pour en savoir plus sur les informations d'identification, consultez [Types d'informations d'identification Amazon SES](send-email-concepts-credentials.md).
+ Adresse du point de terminaison SMTP. Pour obtenir la liste des points de terminaison SMTP Amazon SES, consultez [Connexion à un point de terminaison SMTP Amazon SES](smtp-connect.md).
+ Le numéro de port de l'interface SMTP Amazon SES, qui dépend de la méthode de connexion. Pour plus d'informations, consultez [Connexion à un point de terminaison SMTP Amazon SES](smtp-connect.md).

## Exemples de code
<a name="send-email-smtp-code-examples"></a>

Vous pouvez accéder à l'interface SMTP Amazon SES à l'aide d'un langage de programmation compatible avec SMTP. Vous fournissez le nom d'hôte et le numéro de port SMTP Amazon SES, ainsi que vos informations d'identification SMTP, puis vous utilisez les fonctions SMTP génériques du langage de programmation pour envoyer l'e-mail.

Amazon Elastic Compute Cloud (Amazon EC2) limite par défaut le trafic des e-mails sur le port 25. Pour éviter les délais d'expiration lors de l'envoi d'e-mails via le point de terminaison SMTP à partir d'Amazon EC2, vous pouvez demander la suppression de ces restrictions. Pour plus d'informations, consultez [Comment supprimer la restriction sur le port 25 de mon instance ou AWS Lambda fonction Amazon EC2](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-port-25-throttle/) ? dans le AWS Knowledge Center.

Les exemples de code de cette section pour Java et PHP utilisent le port 587 pour éviter ce problème. 

**Note**  
Dans ces didacticiels, vous vous envoyez un e-mail afin de vérifier si vous l'avez reçu. Pour d'autres essais ou pour des tests de charge, utilisez le simulateur de boîte aux lettres Amazon SES. Les e-mails envoyés au simulateur de boîte aux lettres ne sont pas pris en compte dans votre quota d'envoi et vos taux de retours à l'expéditeur et de réclamations. Pour plus d'informations, consultez [Utilisation manuelle du simulateur de boîte aux lettres](send-an-email-from-console.md#send-email-simulator).

**Sélectionnez un langage de programmation pour afficher l'exemple correspondant à cette langue:**

**Avertissement**  
Amazon SES déconseille d'utiliser des informations d'identification statiques. Reportez-vous [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)à pour savoir comment améliorer votre niveau de sécurité en supprimant les informations d'identification codées en dur de votre code source. Ce didacticiel est uniquement fourni dans le but de tester l'interface SMTP d'Amazon SES dans un environnement hors production.

------
#### [ Java ]

Cet exemple utilise l'[IDE Eclipse](http://www.eclipse.org/) et l'[JavaMail API](https://github.com/javaee/javamail/releases) pour envoyer des e-mails via Amazon SES à l'aide de l'interface SMTP.

Avant d'effectuer la procédure suivante, effectuez les tâches dans [Configuration d'Amazon Simple Email Service](setting-up.md).

**Pour envoyer un e-mail à l'aide de l'interface SMTP Amazon SES avec Java**

1. Dans un navigateur Web, accédez à la [JavaMail GitHub page](https://github.com/javaee/javamail/releases). Sous **Assets**, choisissez **javax.mail.jar pour télécharger la dernière** version de. JavaMail
**Important**  
Ce didacticiel nécessite JavaMail la version 1.5 ou ultérieure. Ces procédures ont été testées à l'aide de JavaMail la version 1.6.1.

1. **Dans un navigateur Web, rendez-vous sur la [ GitHub page d'activation de Jakarta et, sous JavaBeans Activation](https://github.com/eclipse-ee4j/jaf/releases) [Framework 1.2.1 Final Release](https://github.com/eclipse-ee4j/jaf/releases/tag/1.2.1), téléchargez le fichier jakarta.activation.jar**

1. Créez un projet Eclipse en procédant comme suit :

   1. Démarrez Eclipse.

   1. Dans Eclipse, choisissez **File (Fichier)**, **New (Nouveau)**, puis **Java Project**.

   1. Dans la boîte de dialogue **Create a Java Project (Créer un projet Java)**, saisissez un nom de projet, puis choisissez **Next (Suivant).**

   1. Dans la boîte de dialogue **Java Settings (Paramètres Java)**, choisissez l'onglet **Libraries (Bibliothèques)**.

   1. ****Sélectionnez **Classpath** et ajoutez les deux fichiers jar externes **javax.mail.jar et jakarta.activation.jar à l'aide du bouton Ajouter un fichier** externe. JARs****

   1. Choisissez **Ajouter un élément externe JARs**.

   1. Accédez au dossier dans lequel vous avez effectué le téléchargement JavaMail. Choisissez le fichier `javax.mail.jar`, puis **Open (Ouvrir)**.

   1. Dans la boîte de dialogue **Java Settings (Paramètres Java)**, choisissez **Finish (Terminer)**.

1. Dans la fenêtre **Package Explorer (Explorateur de paquets)** d'Eclipse, développez votre projet.

1. Sous votre projet, cliquez avec le bouton droit sur le répertoire **src**, puis choisissez **New (Nouveau)** et **Class (Classe)**.

1. Dans la boîte de dialogue **New Java Class (Nouvelle classe Java)**, dans le champ **Name (Nom)**, entrez `AmazonSESSample` et choisissez **Finish (Terminer)**.

1. Remplacez l'intégralité du contenu du **SESSamplefichier .java d'Amazon** par le code suivant :

   ```
     1. import java.util.Properties;
     2. 
     3. import javax.mail.Message;
     4. import javax.mail.Session;
     5. import javax.mail.Transport;
     6. import javax.mail.internet.InternetAddress;
     7. import javax.mail.internet.MimeMessage;
     8. 
     9. public class AmazonSESSample {
    10. 
    11.     // Replace sender@example.com with your "From" address.
    12.     // This address must be verified.
    13.     static final String FROM = "sender@example.com";
    14.     static final String FROMNAME = "Sender Name";
    15.     
    16.     // Replace recipient@example.com with a "To" address. If your account 
    17.     // is still in the sandbox, this address must be verified.
    18.     static final String TO = "recipient@example.com";
    19.     
    20.     // Replace smtp_username with your Amazon SES SMTP user name.
    21.     static final String SMTP_USERNAME = "smtp_username";
    22.       
    23.     // The name of the Configuration Set to use for this message.
    24.     // If you comment out or remove this variable, you will also need to
    25.     // comment out or remove the header below.
    26.     static final String CONFIGSET = "ConfigSet";
    27.     
    28.     // Amazon SES SMTP host name. This example uses the US West (Oregon) region.
    29.     // See https://docs.aws.amazon.com/ses/latest/DeveloperGuide/regions.html#region-endpoints
    30.     // for more information.
    31.     static final String HOST = "email-smtp.us-west-2.amazonaws.com";
    32.     
    33.     // The port you will connect to on the Amazon SES SMTP endpoint. 
    34.     static final int PORT = 587;
    35.     
    36.     static final String SUBJECT = "Amazon SES test (SMTP interface accessed using Java)";
    37.     
    38.     static final String BODY = String.join(
    39.             System.getProperty("line.separator"),
    40.             "<h1>Amazon SES SMTP Email Test</h1>",
    41.             "<p>This email was sent with Amazon SES using the ", 
    42.             "<a href='https://github.com/javaee/javamail'>Javamail Package</a>",
    43.             " for <a href='https://www.java.com'>Java</a>."
    44.         );
    45. 
    46.     public static void main(String[] args) throws Exception {
    47. 
    48.         // Create a Properties object to contain connection configuration information.
    49.         Properties props = System.getProperties();
    50.         props.put("mail.transport.protocol", "smtp");
    51.         props.put("mail.smtp.port", PORT); 
    52.         props.put("mail.smtp.starttls.enable", "true");
    53.         props.put("mail.smtp.auth", "true");
    54. 
    55.         // Create a Session object to represent a mail session with the specified properties. 
    56.         Session session = Session.getDefaultInstance(props);
    57. 
    58.         // Create a message with the specified information. 
    59.         MimeMessage msg = new MimeMessage(session);
    60.         msg.setFrom(new InternetAddress(FROM,FROMNAME));
    61.         msg.setRecipient(Message.RecipientType.TO, new InternetAddress(TO));
    62.         msg.setSubject(SUBJECT);
    63.         msg.setContent(BODY,"text/html");
    64.         
    65.         // Add a configuration set header. Comment or delete the 
    66.         // next line if you are not using a configuration set
    67.         msg.setHeader("X-SES-CONFIGURATION-SET", CONFIGSET);
    68.             
    69.         // Create a transport.
    70.         Transport transport = session.getTransport();
    71. 
    72.         // Get the password 
    73.         String SMTP_PASSWORD = fetchSMTPPasswordFromSecureStorage();
    74.                     
    75.         // Send the message.
    76.         try
    77.         {
    78.             System.out.println("Sending...");
    79.             
    80.             // Connect to Amazon SES using the SMTP username and password you specified above.
    81.             transport.connect(HOST, SMTP_USERNAME, SMTP_PASSWORD);
    82.             
    83.             // Send the email.
    84.             transport.sendMessage(msg, msg.getAllRecipients());
    85.             System.out.println("Email sent!");
    86.         }
    87.         catch (Exception ex) {
    88.             System.out.println("The email was not sent.");
    89.             System.out.println("Error message: " + ex.getMessage());
    90.         }
    91.         finally
    92.         {
    93.             // Close and terminate the connection.
    94.             transport.close();
    95.         }
    96.     }
    97. 
    98.     static String fetchSMTPPasswordFromSecureStorage() {
    99.         /* IMPLEMENT THIS METHOD */
   100.         // For example, you might fetch it from a secure location or AWS Secrets Manager: https://aws.amazon.com/secrets-manager/
   101.     }
   102. }
   ```

1. Dans **Amazon SESSample .java**, remplacez les adresses e-mail suivantes par vos propres valeurs :
**Important**  
Les adresses e-mail sont sensibles à la casse. Assurez-vous que les adresses sont exactement les mêmes que celles que vous avez vérifiées.
   + *sender@example.com*— Remplacez par votre adresse e-mail « De ». Vous devez vérifier cette adresse avant d'exécuter ce programme. Pour de plus amples informations, veuillez consulter [Identités vérifiées dans Amazon SES](verify-addresses-and-domains.md).
   + *recipient@example.com*— Remplacez par votre adresse e-mail « À ». Si votre compte est encore dans l'environnement de test (sandbox), vous devez vérifier cette adresse avant de l'utiliser. Pour de plus amples informations, veuillez consulter [Demande d'accès à la production (sortie du sandbox d'Amazon SES)](request-production-access.md).

1. Dans **Amazon SESSample .java**, remplacez les valeurs suivantes par vos propres valeurs :
   + *smtp\$1username*— Remplacez par votre identifiant de nom d'utilisateur SMTP. Notez que les informations d'identification de votre nom d'utilisateur SMTP sont une chaîne alphanumérique de 20 caractères, et pas un nom intelligible.
   + *smtp\$1password*— ``fetchSMTPPasswordFromSecureStorage`` Implémente pour récupérer le mot de passe.

1. (Facultatif) Si vous souhaitez utiliser un point de terminaison SMTP Amazon SES dans un Région AWS autre endroit*email-smtp.us-west-2.amazonaws.com*, remplacez la valeur de la variable par le point `HOST` de terminaison que vous souhaitez utiliser. Pour connaître la liste des régions dans lesquelles Amazon SES est disponible, consultez [Amazon Simple Email Service (Amazon SES)](https://docs.aws.amazon.com/general/latest/gr/rande.html#ses_region) dans le document *Références générales AWS*.

1. (Facultatif) – Si vous souhaitez utiliser un jeu de configurations lors de l'envoi de cet e-mail, remplacez la valeur de la variable *ConfigSet* par le nom du jeu de configurations. Pour en savoir plus sur les jeux de configuration, consultez [Utilisation des jeux de configuration dans Amazon SES](using-configuration-sets.md).

1. Enregistrez le **SESSamplefichier .java d'Amazon.**

1. Pour créer le projet, choisissez **Project (Projet)**, puis **Build Project (Créer un projet)**. (Si cette option est désactivée, cela peut signifier que la génération automatique est activée.)

1. Pour démarrer le programme et envoyer l'e-mail, choisissez **Run (Exécuter)**, puis à nouveau **Run (Exécuter)**.

1. Vérifiez la sortie. Si l'e-mail a été envoyé avec succès, la console affiche *« E-mail envoyé \$1 »* Dans le cas contraire, un message d'erreur s'affiche.

1. Connectez-vous au client de messagerie de l'adresse du destinataire. Vous verrez le message que vous avez envoyé.

------
#### [ PHP  ]

Cet exemple utilise la PHPMailer classe pour envoyer des e-mails via Amazon SES à l'aide de l'interface SMTP. 

Avant d'effectuer la procédure suivante, effectuez les tâches dans [Configuration d'Amazon Simple Email Service](setting-up.md). En plus de configurer Amazon SES, vous devez remplir les conditions préalables suivantes pour envoyer des e-mails avec PHP :

**Prérequis :**
+ **Installer PHP** — PHP est disponible sur [http://php.net/downloads.php](https://php.net/downloads.php). Après avoir installé PHP, ajoutez le chemin d'accès à PHP dans vos variables d'environnement afin de pouvoir exécuter PHP à partir de n'importe quelle invite de commande.
+ **Installation du gestionnaire de dépendances Composer** : après avoir installé le gestionnaire de dépendances Composer, vous pouvez télécharger et installer la PHPMailer classe et ses dépendances. Pour installer Composer, suivez les instructions d'installation sur [https://getcomposer.org/download](https://getcomposer.org/download).
+ **Installer la PHPMailer classe** — Après avoir installé Composer, exécutez la commande suivante pour l'installer PHPMailer : 

  ```
  path/to/composer require phpmailer/phpmailer
  ```

  Dans la commande précédente, remplacez *path/to/* par le chemin où vous avez installé Composer.

**Pour envoyer un e-mail à l'aide de l'interface SMTP Amazon SES avec PHP**

1. Créez un fichier nommé **amazon-ses-smtp-sample.php.** Ouvrez le fichier dans un éditeur de texte et collez le code suivant :

   ```
    1. <?php
    2. 
    3. // Import PHPMailer classes into the global namespace
    4. // These must be at the top of your script, not inside a function
    5. use PHPMailer\PHPMailer\PHPMailer;
    6. use PHPMailer\PHPMailer\Exception;
    7. 
    8. // If necessary, modify the path in the require statement below to refer to the
    9. // location of your Composer autoload.php file.
   10. require 'vendor/autoload.php';
   11. 
   12. // Replace sender@example.com with your "From" address.
   13. // This address must be verified with Amazon SES.
   14. $sender = 'sender@example.com';
   15. $senderName = 'Sender Name';
   16. 
   17. // Replace recipient@example.com with a "To" address. If your account
   18. // is still in the sandbox, this address must be verified.
   19. $recipient = 'recipient@example.com';
   20. 
   21. // Replace smtp_username with your Amazon SES SMTP user name.
   22. $usernameSmtp = 'smtp_username';
   23. 
   24. // Specify a configuration set. If you do not want to use a configuration
   25. // set, comment or remove the next line.
   26. $configurationSet = 'ConfigSet';
   27. 
   28. // If you're using Amazon SES in a region other than US West (Oregon),
   29. // replace email-smtp.us-west-2.amazonaws.com with the Amazon SES SMTP
   30. // endpoint in the appropriate region.
   31. $host = 'email-smtp.us-west-2.amazonaws.com';
   32. $port = 587;
   33. 
   34. // The subject line of the email
   35. $subject = 'Amazon SES test (SMTP interface accessed using PHP)';
   36. 
   37. // The plain-text body of the email
   38. $bodyText =  "Email Test\r\nThis email was sent through the
   39.     Amazon SES SMTP interface using the PHPMailer class.";
   40. 
   41. // The HTML-formatted body of the email
   42. $bodyHtml = '<h1>Email Test</h1>
   43.     <p>This email was sent through the
   44.     <a href="https://aws.amazon.com/ses">Amazon SES</a> SMTP
   45.     interface using the <a href="https://github.com/PHPMailer/PHPMailer">
   46.     PHPMailer</a> class.</p>';
   47. 
   48. $mail = new PHPMailer(true);
   49. 
   50. try {
   51.     // Specify the SMTP settings.
   52.     $mail->isSMTP();
   53.     $mail->setFrom($sender, $senderName);
   54.     $mail->Username   = $usernameSmtp;
   55.     $mail->Password   = fetchSMTPPasswordFromSecureStorage();
   56.     $mail->Host       = $host;
   57.     $mail->Port       = $port;
   58.     $mail->SMTPAuth   = true;
   59.     $mail->SMTPSecure = 'tls';
   60.     $mail->addCustomHeader('X-SES-CONFIGURATION-SET', $configurationSet);
   61. 
   62.     // Specify the message recipients.
   63.     $mail->addAddress($recipient);
   64.     // You can also add CC, BCC, and additional To recipients here.
   65. 
   66.     // Specify the content of the message.
   67.     $mail->isHTML(true);
   68.     $mail->Subject    = $subject;
   69.     $mail->Body       = $bodyHtml;
   70.     $mail->AltBody    = $bodyText;
   71.     $mail->Send();
   72.     echo "Email sent!" , PHP_EOL;
   73. } catch (phpmailerException $e) {
   74.     echo "An error occurred. {$e->errorMessage()}", PHP_EOL; //Catch errors from PHPMailer.
   75. } catch (Exception $e) {
   76.     echo "Email not sent. {$mail->ErrorInfo}", PHP_EOL; //Catch errors from Amazon SES.
   77. }
   78. function fetchSMTPPasswordFromSecureStorage() {
   79. /* IMPLEMENT THIS METHOD */
   80. // For example, you might fetch it from a secure location or AWS Secrets Manager: https://aws.amazon.com/secrets-manager/
   81. }
   82. 
   83. ?>
   ```

1. Dans le **amazon-ses-smtp-samplefichier .php**, remplacez les valeurs suivantes par vos propres valeurs :
   + *sender@example.com*— Remplacez par une adresse e-mail que vous avez vérifiée auprès d'Amazon SES. Pour de plus amples informations, veuillez consulter [Identités vérifiées](verify-addresses-and-domains.md). Les adresses e-mail d'Amazon SES sont sensibles à la casse. Assurez-vous que l'adresse que vous saisissez est exactement la même que celle que vous avez vérifiée.
   + *recipient@example.com*— Remplacez par l'adresse du destinataire. Si votre compte est encore dans l'environnement de test (sandbox), vous devez vérifier cette adresse avant de l'utiliser. Pour plus d'informations, consultez [Demande d'accès à la production (sortie du sandbox d'Amazon SES)](request-production-access.md). Assurez-vous que l'adresse que vous saisissez est exactement la même que celle que vous avez vérifiée.
   + *smtp\$1username*— Remplacez-le par votre nom d'utilisateur SMTP, que vous avez obtenu sur la page des [paramètres SMTP](https://console.aws.amazon.com/ses/home?#smtp-settings:) de la console Amazon SES. Ce n'est **pas** le même que votre ID de clé d'accès AWS . Notez que les informations d'identification de votre nom d'utilisateur SMTP sont une chaîne alphanumérique de 20 caractères, et pas un nom intelligible.
   + *smtp\$1password*— ``fetchSMTPPasswordFromSecureStorage`` Implémente pour récupérer le mot de passe.
   + (Facultatif) *ConfigSet* — Si vous souhaitez utiliser un ensemble de configuration lors de l'envoi de cet e-mail, remplacez cette valeur par le nom du jeu de configuration. Pour en savoir plus sur les jeux de configurations, consultez [Utilisation des jeux de configuration dans Amazon SES](using-configuration-sets.md).
   + (Facultatif) *email-smtp.us-west-2.amazonaws.com* — Si vous souhaitez utiliser un point de terminaison SMTP Amazon SES dans une région autre que l'ouest des États-Unis (Oregon), remplacez-le par le point de terminaison SMTP Amazon SES de la région que vous souhaitez utiliser. Pour obtenir la liste des points de terminaison SMTP URLs pour Régions AWS lesquels Amazon SES est disponible, consultez [Amazon Simple Email Service (Amazon SES](https://docs.aws.amazon.com/general/latest/gr/rande.html#ses_region)) dans le. *Références générales AWS*

1. Enregistrez le **amazon-ses-smtp-samplefichier .php.**

1. Pour exécuter le programme, ouvrez une invite de commande dans le même répertoire que **amazon-ses-smtp-sample.php**, puis tapez**php amazon-ses-smtp-sample.php**.

1. Vérifiez la sortie. Si l'e-mail a été envoyé avec succès, la console affiche *« E-mail envoyé \$1 »* Dans le cas contraire, un message d'erreur s'affiche.

1. Connectez-vous au client de messagerie de l'adresse du destinataire. Vous verrez le message que vous avez envoyé.

------

# Intégration d'Amazon SES à votre serveur de messagerie existant
<a name="send-email-smtp-existing-server"></a>

Si vous administrez actuellement votre propre serveur de messagerie, vous pouvez utiliser le point de terminaison SMTP Amazon SES pour envoyer tous vos e-mails sortants à Amazon SES. Il n'est pas nécessaire de modifier vos clients et applications de messagerie existants ; le passage à Amazon SES sera transparent pour eux.

Plusieurs agents de transfert de courrier (MTAs) prennent en charge l'envoi d'e-mails via des relais SMTP. Cette section fournit des conseils généraux sur la façon de configurer certains e-mails courants pour envoyer des e-mails MTAs à l'aide de l'interface SMTP d'Amazon SES.

Le point de terminaison SMTP Amazon SES nécessite que toutes les connexions soient chiffrées à l'aide du protocole TLS (Transport Layer Security).

**Topics**
+ [Intégration d'Amazon SES à Postfix](postfix.md)
+ [Intégration d'Amazon SES à Sendmail](send-email-sendmail.md)
+ [Intégration d'Amazon SES au serveur SMTP IIS de Microsoft Windows Server](send-email-windows-server.md)

# Intégration d'Amazon SES à Postfix
<a name="postfix"></a>

Postfix est une alternative à l'agent MTA (Message Transfert Agent) de Sendmail couramment utilisé. Pour en savoir plus sur Postfix, consultez [http://www.postfix.org](http://www.postfix.org). Les procédures présentées dans cette rubrique fonctionnent avec Linux, macOS ou Unix.

**Note**  
Postfix est une application tierce qui n'est ni développée ni prise en charge par Amazon Web Services. Les procédures décrites dans cette section sont fournies à titre informatif seulement et peuvent être modifiées sans préavis.

## Conditions préalables
<a name="send-email-postfix-prereqs"></a>

Avant d'exécuter les procédures fournies dans cette section, vous devez effectuer les tâches suivantes :
+ Désinstallez l'application Sendmail si elle est installée sur votre système. La procédure d'exécution de cette étape varie en fonction du système d'exploitation que vous utilisez.
**Important**  
Les références à *sendmail* suivantes sont liées à la commande Postfix `sendmail` et non à l’application Sendmail.
+ Installez Postfix. La procédure d'exécution de cette étape varie en fonction du système d'exploitation que vous utilisez.
+ Installez un package d'authentification SASL. La procédure d'exécution de cette étape varie en fonction du système d'exploitation que vous utilisez. Par exemple, si vous utilisez un système RedHat basé, vous devez installer le `cyrus-sasl-plain` package. Si vous utilisez un système basé sur Debian ou Ubuntu, vous devez installer le package `libsasl2-modules`.
+ Vérifiez l'adresse e-mail ou le domaine que vous utiliserez pour envoyer les e-mails. Pour plus d'informations, consultez [Création d'une identité d'adresse e-mail](creating-identities.md#verify-email-addresses-procedure).
+ Si votre compte est toujours dans l'environnement de test (sandbox), vous ne pouvez envoyer des e-mails qu'aux adresses e-mail vérifiées. Pour plus d'informations, consultez [Demande d'accès à la production (sortie du sandbox d'Amazon SES)](request-production-access.md).

## Configuration de Postfix
<a name="send-email-postfix"></a>

Terminez la procédure suivante afin de configurer votre serveur de messagerie pour envoyer des e-mails via Amazon SES en utilisant Postfix.

**Pour configurer Postfix**

1. Sur la ligne de commande, entrez la commande suivante :

   ```
   sudo postconf -e "relayhost = [email-smtp.us-west-2.amazonaws.com]:587" \
   "smtp_sasl_auth_enable = yes" \
   "smtp_sasl_security_options = noanonymous" \
   "smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd" \
   "smtp_use_tls = yes" \
   "smtp_tls_security_level = secure" \
   "smtp_tls_note_starttls_offer = yes"
   ```
**Note**  
Si vous utilisez Amazon SES dans une AWS région autre que l'ouest des États-Unis (Oregon), remplacez *email-smtp.us-west-2.amazonaws.com* la commande précédente par le point de terminaison SMTP de la région appropriée. Pour de plus amples informations, veuillez consulter [Régions et Amazon SES](regions.md).

1. Ouvrez le fichier `/etc/postfix/master.cf` dans un éditeur de texte. Recherchez l'entrée suivante :

   ```
   -o smtp_fallback_relay=
   ```

   Si vous recherchez cette entrée, placez-la en commentaire en insérant un caractère `#` (dièse) en début de ligne. Enregistrez et fermez le fichier .

   Si cette entrée n'est pas présente, passez à l'étape suivante.

1. Ouvrez le fichier `/etc/postfix/sasl_passwd` dans un éditeur de texte. Si le fichier n'existe pas déjà, créez-le.

1. Ajoutez la ligne suivante à `/etc/postfix/sasl_passwd` :

   ```
   [email-smtp.us-west-2.amazonaws.com]:587 SMTPUSERNAME:SMTPPASSWORD
   ```
**Note**  
Remplacez *SMTPUSERNAME* et *SMTPPASSWORD* par vos identifiants de connexion SMTP. Vos informations d'identification de connexion SMTP ne sont pas les mêmes que votre ID de clé d'accès AWS et votre clé d'accès secrète. Pour en savoir plus sur les informations d'identification, consultez [Obtention des informations d'identification SMTP Amazon SES](smtp-credentials.md).  
Si vous utilisez Amazon SES dans une AWS région autre que l'ouest des États-Unis (Oregon), remplacez *email-smtp.us-west-2.amazonaws.com* dans l'exemple précédent par le point de terminaison SMTP de la région appropriée. Pour de plus amples informations, veuillez consulter [Régions et Amazon SES](regions.md).

   Enregistrez et fermez `sasl_passwd`.

1. À l'invite de commande, tapez la commande suivante pour créer un fichier de base de données hashmap contenant vos informations d'identification SMTP :

   ```
   sudo postmap hash:/etc/postfix/sasl_passwd
   ```

1. (Facultatif) Les fichiers `/etc/postfix/sasl_passwd` et `/etc/postfix/sasl_passwd.db` que vous avez créés au cours des étapes précédentes ne sont pas chiffrés. Ces fichiers contenant vos informations d'identification SMTP, nous vous recommandons d'en modifier les autorisations et la propriété afin d'en restreindre l'accès. Pour restreindre l'accès à ces fichiers :

   1. Dans une invite de commande, entrez la commande suivante pour modifier la propriété des fichiers :

      ```
      sudo chown root:root /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
      ```

   1. Dans une invite de commande, entrez la commande suivante pour modifier les autorisations des fichiers pour que seul l'utilisateur racine puisse lire ou écrire dans ces fichiers :

      ```
      sudo chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
      ```

1. Indiquez à Postfix où trouver le certificat d'une autorité de certification (nécessaire pour vérifier le certificat de serveur Amazon SES). La commande que vous utilisez dans cette étape varie en fonction de votre système d'exploitation.
   + Si vous utilisez Amazon Linux, Red Hat Enterprise Linux ou une distribution connexe, saisissez la commande suivante : 

     ```
     sudo postconf -e 'smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt'
     ```
   + Si vous utilisez Ubuntu ou une distribution connexe, saisissez la commande suivante :

     ```
     sudo postconf -e 'smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt'
     ```
   + Si vous utilisez macOS, vous pouvez générer le certificat à partir de l'utilitaire Keychain de votre système. Pour générer le certificat, tapez la commande suivante sur la ligne de commande :

     ```
     sudo security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain | sudo tee /etc/ssl/certs/ca-bundle.crt > /dev/null
     ```

     Une fois le certificat généré, tapez la commande suivante :

     ```
     sudo postconf -e 'smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt'
     ```

1. Tapez la commande suivante pour démarrer le serveur Postfix (ou pour recharger les paramètres de configuration si le serveur est déjà en cours d'exécution) :

   ```
   sudo postfix start; sudo postfix reload
   ```

1. Envoyez un e-mail de test en saisissant ce qui suit sur la ligne de commande, en appuyant sur Entrée après chaque ligne. Remplacez *sender@example.com* par votre adresse e-mail From. L'adresse d'expédition doit être vérifiée pour une utilisation avec Amazon SES. Remplacez *recipient@example.com* par l'adresse de destination. Si votre compte est encore dans l'environnement de test (sandbox), l'adresse du destinataire doit également être vérifiée. Enfin, la dernière ligne du message doit contenir uniquement un point (.), sans autre contenu.

   ```
   sendmail -f sender@example.com recipient@example.com
   From: Sender Name <sender@example.com>
   Subject: Amazon SES Test                
   This message was sent using Amazon SES.                
   .
   ```

1. Vérifiez la boîte aux lettres associée à l'adresse du destinataire. Si l'e-mail n'arrive pas, vérifiez le dossier des courriers indésirables. Si vous ne trouvez toujours pas l'e-mail, vérifiez le journal de messagerie de votre système (généralement situé dans `/var/log/maillog`) pour en savoir plus.

## Exemple d'utilisation avancée
<a name="send-email-postfix-advanced"></a>

Cet exemple montre comment envoyer un e-mail qui utilise un [jeu de configurations](using-configuration-sets.md) et l'encodage MIME en plusieurs parties pour envoyer une version en texte brut et une version HTML du message avec une pièce jointe. Il inclut également une [balise de lien](faqs-metrics.md#sending-metric-faqs-clicks-q5), qui peut être utilisée pour classer les événements de clic. Le contenu de l'e-mail étant spécifié dans un fichier externe, vous n'avez pas à entrer manuellement les commandes dans la session Postfix.

**Pour envoyer un e-mail MIME en plusieurs parties avec Postfix**

1. Dans un éditeur de texte, créez un fichier nommé `mime-email.txt`.

1. Dans le fichier texte, collez le contenu suivant, en remplaçant les valeurs en rouge par les valeurs appropriées de votre compte :

   ```
   X-SES-CONFIGURATION-SET: ConfigSet
   From:Sender Name <sender@example.com>
   Subject:Amazon SES Test
   MIME-Version: 1.0
   Content-Type: multipart/mixed; boundary="YWVhZDFlY2QzMGQ2N2U0YTZmODU"
   
   --YWVhZDFlY2QzMGQ2N2U0YTZmODU
   Content-Type: multipart/alternative; boundary="3NjM0N2QwMTE4MWQ0ZTg2NTYxZQ"
   
   --3NjM0N2QwMTE4MWQ0ZTg2NTYxZQ
   Content-Type: text/plain; charset=UTF-8
   Content-Transfer-Encoding: quoted-printable
   
   Amazon SES Test
   
   This message was sent from Amazon SES using the SMTP interface.
   
   For more information, see:
   http://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-smtp.html
   
   --3NjM0N2QwMTE4MWQ0ZTg2NTYxZQ
   Content-Type: text/html; charset=UTF-8
   Content-Transfer-Encoding: quoted-printable
   
   <html>
     <head>
   </head>
     <body>
       <h1>Amazon SES Test</h1>
         <p>This message was sent from Amazon SES using the SMTP interface.</p>
         <p>For more information, see
         <a ses:tags="samplekey0:samplevalue0;samplekey1:samplevalue1;" 
         href="http://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-smtp.html">
         Using the Amazon SES SMTP Interface to Send Email</a> in the <em>Amazon SES
         Developer Guide</em>.</p>
     </body>
   </html>
   --3NjM0N2QwMTE4MWQ0ZTg2NTYxZQ--
   --YWVhZDFlY2QzMGQ2N2U0YTZmODU
   Content-Type: application/octet-stream
   MIME-Version: 1.0
   Content-Transfer-Encoding: base64
   Content-Disposition: attachment; filename="customers.txt"
   
   SUQsRmlyc3ROYW1lLExhc3ROYW1lLENvdW50cnkKMzQ4LEpvaG4sU3RpbGVzLENh
   bmFkYQo5MjM4OSxKaWUsTGl1LENoaW5hCjczNCxTaGlybGV5LFJvZHJpZ3VleixV
   bml0ZWQgU3RhdGVzCjI4OTMsQW5heWEsSXllbmdhcixJbmRpYQ==
   --YWVhZDFlY2QzMGQ2N2U0YTZmODU--
   ```

   Enregistrez et fermez le fichier .

1. Sur la ligne de commande, entrez la commande suivante. Remplacez *sender@example.com* par votre adresse e-mail et remplacez *recipient@example.com* par l'adresse e-mail du destinataire.

   ```
   sendmail -f sender@example.com recipient@example.com < mime-email.txt
   ```

   Si la commande s'exécute correctement, elle se termine sans fournir de sortie.

1. Vérifiez que vous avez bien reçu l'e-mail dans votre boîte de réception. Si le message n'a pas été remis, vérifiez le journal de messagerie dans votre système.

# Intégration d'Amazon SES à Sendmail
<a name="send-email-sendmail"></a>

Sendmail a été lancé au début des années 1980 et a été continuellement amélioré depuis. Il s'agit d'un agent de transfert de messages (Message Transfert Agent, MTA) flexible et configurable avec une grande communauté d'utilisateurs. Sendmail a été racheté par Proofpoint en 2013, mais ce dernier continue à proposer une version open source de Sendmail. Vous pouvez télécharger la [version open source de Sendmail](https://www.proofpoint.com/us/open-source-email-solution) à partir du site web de Proofpoint, ou via un gestionnaire de paquets pour la plupart des distributions Linux.

Les instructions disponibles dans cette section vous expliquent comment configurer Sendmail pour envoyer un e-mail via Amazon SES. Cette procédure a été testée sur un serveur Ubuntu 18.04.2 LTS.

**Note**  
Sendmail est une application tierce qui n'est ni développée ni prise en charge par Amazon Web Services. Les procédures décrites dans cette section sont fournies à titre informatif seulement et peuvent être modifiées sans préavis.

## Conditions préalables
<a name="send-email-sendmail-prerequisites"></a>

Avant de commencer la procédure décrite dans cette section, vous devez effectuer les étapes suivantes :
+ Installez le paquet Sendmail sur votre serveur. 
**Note**  
Selon la distribution du système d'exploitation que vous utilisez, vous devrez peut-être également installer les paquets suivants : `sendmail-cf`, `m4` et `cyrus-sasl-plain`.
+ Validez une identité à utiliser pour votre adresse d'expédition. Pour plus d'informations, consultez [Création d'une identité d'adresse e-mail](creating-identities.md#verify-email-addresses-procedure).

  Si votre compte se trouve dans l'environnement de test (sandbox) Amazon SES, vous devez également valider les adresses auxquelles vous envoyez des e-mails. Pour plus d'informations, consultez [Demande d'accès à la production (sortie du sandbox d'Amazon SES)](request-production-access.md).

Si vous utilisez Amazon SES pour envoyer des e-mails à partir d'une instance Amazon EC2, vous devez également effectuer les étapes suivantes :
+ Vous devrez peut-être attribuer une adresse IP élastique à votre instance Amazon EC2 pour que les services de messagerie entrante acceptent votre e-mail. Pour plus d'informations, consultez les [adresses IP élastiques Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) dans le guide de l'utilisateur *Amazon EC2*.
+ Amazon Elastic Compute Cloud (Amazon EC2) limite par défaut le trafic des e-mails sur le port 25. Pour éviter les délais d'expiration lors de l'envoi d'e-mails via le point de terminaison SMTP à partir d'Amazon EC2, vous pouvez demander la suppression de ces restrictions. Pour plus d'informations, consultez [Comment supprimer la restriction sur le port 25 de mon instance ou AWS Lambda fonction Amazon EC2](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-port-25-throttle/) ? dans le AWS Knowledge Center.

  Vous pouvez également modifier la procédure de cette section pour utiliser le port 587 plutôt que le port 25.

## Configuration de Sendmail
<a name="send-email-sendmail-procedure"></a>

Effectuez les étapes décrites dans cette section pour configurer Sendmail de façon à envoyer des e-mails à l'aide d'Amazon SES.

**Important**  
La procédure décrite dans cette section part du principe que vous souhaitez utiliser Amazon SES dans l'ouest des États-Unis (Oregon) Région AWS. Si vous voulez utiliser une autre région, remplacez toutes les instances *email-smtp.us-west-2.amazonaws.com* dans ces instructions par le point de terminaison SMTP de la région souhaitée. Pour obtenir la liste des points de terminaison SMTP URLs pour Régions AWS lesquels Amazon SES est disponible, consultez [Amazon Simple Email Service (Amazon SES](https://docs.aws.amazon.com/general/latest/gr/rande.html#ses_region)) dans le. *Références générales AWS*

**Pour configurer Sendmail**

1. Dans un éditeur de fichier, ouvrez le fichier `/etc/mail/authinfo`. Si le fichier n'existe pas, créez-le.

   Ajoutez la ligne suivante à*/etc/mail/authinfo*:

   ```
   AuthInfo:email-smtp.us-west-2.amazonaws.com "U:root" "I:smtpUsername" "P:smtpPassword" "M:PLAIN"
   ```

   Dans l’exemple précédent, apportez les modifications suivantes :
   + *email-smtp.us-west-2.amazonaws.com*Remplacez-le par le point de terminaison SMTP Amazon SES que vous souhaitez utiliser.
   + *smtpUsername*Remplacez-le par votre nom d'utilisateur SMTP Amazon SES.
   + *smtpPassword*Remplacez-le par votre mot de passe SMTP Amazon SES.
**Note**  
Vos identifiants de connexion SMTP sont différents de votre identifiant de clé d' AWS accès et de votre clé d'accès secrète. Pour en savoir plus sur l'obtention de vos informations d'identification de connexion SMTP, consultez [Obtention des informations d'identification SMTP Amazon SES](smtp-credentials.md).

   Lorsque vous avez terminé, enregistrez `authinfo`.

1. En ligne de commande, entrez la commande suivante pour générer le fichier `/etc/mail/authinfo.db` :

   ```
   sudo sh -c 'makemap hash /etc/mail/authinfo.db < /etc/mail/authinfo'
   ```

1. En ligne de commande, entrez la commande suivante pour ajouter la prise en charge des relais vers le point de terminaison SMTP Amazon SES.

   ```
   sudo sh -c 'echo "Connect:email-smtp.us-west-2.amazonaws.com RELAY" >> /etc/mail/access'
   ```

   Dans la commande précédente, remplacez *email-smtp.us-west-2.amazonaws.com* par l'adresse du point de terminaison SMTP Amazon SES que vous souhaitez utiliser.

1. Sur la ligne de commande, tapez la commande suivante pour régénérer*/etc/mail/access.db* :

   ```
   sudo sh -c 'makemap hash /etc/mail/access.db < /etc/mail/access'
   ```

1. En ligne de commande, entrez la commande suivante pour créer des sauvegardes des fichiers `sendmail.cf` et `sendmail.mc` :

   ```
   sudo sh -c 'cp /etc/mail/sendmail.cf /etc/mail/sendmail_cf.backup && cp /etc/mail/sendmail.mc /etc/mail/sendmail_mc.backup'
   ```

1. Ajoutez les lignes suivantes au fichier*/etc/mail/sendmail.mc* avant toute `MAILER()` définition.

   ```
   define(`SMART_HOST', `email-smtp.us-west-2.amazonaws.com')dnl
   define(`RELAY_MAILER_ARGS', `TCP $h 25')dnl
   define(`confAUTH_MECHANISMS', `LOGIN PLAIN')dnl
   FEATURE(`authinfo', `hash -o /etc/mail/authinfo.db')dnl
   MASQUERADE_AS(`example.com')dnl
   FEATURE(masquerade_envelope)dnl
   FEATURE(masquerade_entire_domain)dnl
   ```

   Dans le texte précédent, procédez comme suit :
   + *email-smtp.us-west-2.amazonaws.com*Remplacez-le par le point de terminaison SMTP Amazon SES que vous souhaitez utiliser.
   + *example.com*Remplacez-le par le domaine que vous souhaitez utiliser pour envoyer des e-mails.

   Lorsque vous avez terminé, enregistrez le fichier.
**Note**  
Amazon EC2 limite les communications du port 25 par défaut. Si vous utilisez Sendmail pour envoyer des e-mails à partir d'une instance Amazon EC2, vous devez remplir le [formulaire de demande de suppression des limites d'envoi d'e-mail](https://aws-portal.amazon.com/gp/aws/html-forms-controller/contactus/ec2-email-limit-rdns-request).

1. En ligne de commande, tapez la commande suivante pour rendre *sendmail.cf* accessible en écriture :

   ```
   sudo chmod 666 /etc/mail/sendmail.cf
   ```

1. En ligne de commande, tapez la commande suivante pour regénérer *sendmail.cf* :

   ```
   sudo sh -c 'm4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf'
   ```
**Note**  
Si vous rencontrez des erreurs telles que « Commande introuvable » et « Fichier ou répertoire introuvable », assurez-vous que les paquets `sendmail-cf` et `m4` sont installés sur votre système.

1. En ligne de commande, tapez la commande suivante pour réinitialiser les autorisations de *sendmail.cf* de façon qu'il soit accessible en lecture seule :

   ```
   sudo chmod 644 /etc/mail/sendmail.cf
   ```

1. En ligne de commande, tapez la commande suivante pour redémarrer Sendmail :

   ```
   sudo /etc/init.d/sendmail restart
   ```

   *Selon la version de Linux ou de Sendmail, si ce qui précède ne fonctionne pas, essayez ce qui suit :*

   ```
   sudo su service sendmail restart
   ```

1. Effectuez les étapes suivantes pour envoyer un e-mail de test :

   1. En ligne de commande, entrez la commande suivante.

      ```
      /usr/sbin/sendmail -vf sender@example.com recipient@example.com
      ```

      Remplacez *sender@example.com* par votre adresse e-mail From. Remplacez *recipient@example.com* par l'adresse de destination. Une fois que vous avez terminé, appuyez sur Enter.

   1. Entrez le contenu de message suivant. Appuyez sur Enter à la fin de chaque ligne.

      ```
      From: sender@example.com
      To: recipient@example.com
      Subject: Amazon SES test email
      
      This is a test message sent from Amazon SES using Sendmail.
      ```

      Lorsque vous avez fini d'entrer le contenu de l'e-mail, appuyez sur Ctrl\$1D pour l'envoyer.

1. Vérifiez le client du destinataire de l'e-mail pour l'e-mail. Si vous ne trouvez pas l'e-mail, vérifiez le dossier des courriers indésirables. S'il ne s'y trouve pas non plus, vérifiez le journal Sendmail sur votre serveur de messagerie. Le journal se trouve souvent dans*/var/log/mail.log* ou*/var/log/maillog*. 

# Intégration d'Amazon SES au serveur SMTP IIS de Microsoft Windows Server
<a name="send-email-windows-server"></a>

Vous pouvez configurer le serveur SMTP IIS de Microsoft Windows Server de façon à envoyer des e-mails via Amazon SES. Ces instructions ont été rédigées à l'aide de Microsoft Windows Server 2022 sur une instance Amazon EC2. Vous pouvez utiliser la même configuration sur Microsoft Windows Server 2016.

**Note**  
Windows Server est une application tierce qui n'est ni développée ni prise en charge par Amazon Web Services. Les procédures décrites dans cette section sont fournies à titre informatif seulement et peuvent être modifiées sans préavis.

**Pour intégrer le serveur SMTP IIS de Microsoft Windows Server à Amazon SES**

1. Tout d'abord, configurez Microsoft Windows Server 2022 en suivant les instructions suivantes.

   1. Depuis la [console de gestion Amazon EC2](https://console.aws.amazon.com/ec2/home), lancez une nouvelle instance Amazon EC2 Microsoft Windows Server 2022 Base.

   1. Connectez-vous à l'instance et connectez-vous à l'aide de l'option Bureau à distance en suivant les instructions de [Démarrer avec les instances Windows Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EC2Win_GetStarted.html).

   1. Lancez le tableau de bord du gestionnaire de serveur.

   1. Installez le rôle **Serveur Web**. Assurez-vous d'inclure les **outils de compatibilité de gestion IIS 10** (une option sous la case à cocher **du serveur Web**).

   1. Installez la fonctionnalité **Serveur SMTP**.

1. Ensuite, configurez le service IIS SMTP en suivant les instructions ci-dessous.

   1. Revenez au tableau de bord du gestionnaire de serveur.

   1. Dans le menu **Outils**, choisissez **Internet Information Services (IIS) 10.0 Manager**.

   1. Cliquez avec le bouton droit de la souris sur **Serveur virtuel SMTP n° 1**, puis sélectionnez **Propriétés**.

   1. Sous l'onglet **Accès**, sous **Restrictions de relais**, choisissez **Relais**.

   1. Dans la boîte de dialogue **Restrictions de relais**, choisissez **Ajouter**.

   1. Sous **Ordinateur unique**, entrez **127.0.0.1** pour l'adresse IP. Vous disposez maintenant d'un accès à ce serveur pour transmettre des e-mails à Amazon SES via le service SMTP IIS.

      Dans cette procédure, nous supposons que vos e-mails sont générés sur ce serveur. Si l'application qui génère l'e-mail est exécutée sur un serveur distinct, vous devez accorder l'accès de relais pour ce serveur dans SMTP IIS.
**Note**  
Pour étendre le relais SMTP à des sous-réseaux privés, pour **Relay Restriction (Restriction de relais)**, utilisez **Single Computer (Ordinateur unique)** 127.0.0.1 et **Group of Computers (Groupe d'ordinateurs)** 172.1.1.0 - 255.255.255.0, dans la section masque réseau (netmask). Pour **Connection (Connexion)**, utilisez **Ordinateur unique** 127.0.0.1 et **Group of Computers (Groupe d'ordinateurs)** 172.1.1.0 - 255.255.255.0, dans la section masque réseau (netmask).

1. Enfin, configurez le serveur de façon à envoyer des e-mails via Amazon SES en suivant les instructions ci-dessous.

   1. Revenez à la boîte de dialogue **(SMTP Virtual Server \$11 Properties) Propriétés du serveur virtuel SMTP n° 1**, puis choisissez l'onglet **Delivery (Remise)**.

   1. Sous l'onglet **Delivery (Remise)**, choisissez **Outbound Security (Sécurité sortante)**.

   1. Sélectionnez **Basic Authentication** (Authentification de base), puis saisissez vos informations d'identification SMTP Amazon SES. Vous pouvez obtenir ces informations d'identification à partir de la console Amazon SES à l'aide de la procédure [Obtention des informations d'identification SMTP Amazon SES](smtp-credentials.md).
**Important**  
Vos informations d'identification SMTP ne sont pas identiques à votre identifiant de clé AWS d'accès et à votre clé d'accès secrète. N'essayez pas d'utiliser vos AWS informations d'identification pour vous authentifier auprès du point de terminaison SMTP. Pour en savoir plus sur les informations d'identification, consultez [Types d'informations d'identification Amazon SES](send-email-concepts-credentials.md).

   1. Assurez-vous que **TLS encryption (Chiffrement TLS)** est sélectionné.

   1. Revenez à l'onglet **Delivery (Remise)**.

   1. Choisissez **Outbound Connections (Connexions sortantes)**.

   1. Dans la boîte de dialogue **Outbound Connections (Connexions sortantes)**, assurez-vous que le port est 25 ou 587. 

   1. Choisir **Advanced** (Avancé).

   1. Pour le nom **Smart host (Hôte intelligent)**, entrez le point de terminaison Amazon SES que vous utiliserez (par exemple, *email-smtp.us-west-2.amazonaws.com*). Pour obtenir la liste des terminaux URLs sur Régions AWS lesquels Amazon SES est disponible, consultez [Amazon Simple Email Service (Amazon SES)](https://docs.aws.amazon.com/general/latest/gr/rande.html#ses_region) dans le *Références générales AWS*.

   1. Revenez au tableau de bord du gestionnaire de serveur.

   1. Sur le tableau de bord du gestionnaire de serveur, cliquez avec le bouton droit de la souris sur **Serveur virtuel SMTP n° 1**, puis redémarrez le service de façon à récupérer la nouvelle configuration.

   1. Envoyez un e-mail via ce serveur. Vous pouvez examiner les en-têtes de message afin de confirmer que celui-ci a été remis via Amazon SES.

# Test de votre connexion à l'interface SMTP Amazon SES à l'aide de la ligne de commande
<a name="send-email-smtp-client-command-line"></a>

Vous pouvez utilisez les méthodes décrites dans cette section depuis la ligne de commande pour tester votre connexion au point de terminaison SMTP Amazon SES, valider vos informations d'identification SMTP et résoudre les problèmes de connexion. Ces procédures utilisent des outils et des bibliothèques qui sont inclus avec la plupart des systèmes d'exploitation courants.

Pour plus d'informations sur la résolution des problèmes de connexion SMTP, veuillez consulter [Problèmes SMTP Amazon SES](troubleshoot-smtp.md).

## Conditions préalables
<a name="send-email-smtp-client-command-line-prereqs"></a>

Lorsque vous vous connectez à l'interface SMTP Amazon SES, vous devez fournir un ensemble d'informations d'identification SMTP. Ces informations d'identification SMTP sont différentes de vos informations d' AWS identification standard. Les deux types d'informations d'identification ne sont pas interchangeables. Pour en savoir plus sur l'obtention de vos informations d'identification SMTP, consultez [Obtention des informations d'identification SMTP Amazon SES](smtp-credentials.md).

## Test de votre connexion à l'interface SMTP Amazon SES
<a name="send-email-smtp-client-command-line-testing"></a>

Vous pouvez utiliser la ligne de commande pour tester votre connexion à l'interface SMTP Amazon SES sans vous authentifier ni envoyer de messages. Cette procédure est utile pour résoudre les problèmes de connectivité de base. Si votre connexion de test échoue, consultez [Problèmes SMTP](troubleshoot-smtp.md).

Cette section inclut des procédures pour tester votre connexion à l'aide d'OpenSSL (qui est inclus dans la plupart des distributions Linux, macOS et Unix, et est également disponible pour Windows) et de `Test-NetConnection` l'applet de commande (incluse PowerShell dans les versions les plus récentes de Windows).

------
#### [ Linux, macOS, or Unix ]

Il existe deux façons de se connecter à l'interface SMTP Amazon SES avec OpenSSL : à l'aide du protocole SSL explicite sur le port 587 ou à l'aide du protocole SSL implicite sur le port 465.

**Pour vous connecter à l'interface SMTP à l'aide du protocole SSL explicite**
+ Sur la ligne de commande, tapez la commande suivante afin de vous connecter au serveur SMTP Amazon SES :

  ```
  openssl s_client -crlf -quiet -starttls smtp -connect email-smtp.us-west-2.amazonaws.com:587
  ```

  Dans la commande précédente, remplacez *email-smtp.us-west-2.amazonaws.com* par l'URL du point de terminaison SMTP Amazon SES pour votre AWS région. Pour de plus amples informations, veuillez consulter [Régions et Amazon SES](regions.md).

  Si la connexion est réussie, vous obtenez une sortie similaire à ce qui suit :

  ```
  depth=2 C = US, O = Amazon, CN = Amazon Root CA 1
  verify return:1
  depth=1 C = US, O = Amazon, OU = Server CA 1B, CN = Amazon
  verify return:1
  depth=0 CN = email-smtp.us-west-2.amazonaws.com
  verify return:1
  250 Ok
  ```

  La connexion se ferme automatiquement au bout de 10 secondes d'inactivité.

Vous pouvez également utiliser le protocole SSL implicite pour vous connecter à l'interface SMTP via le port 465.

**Pour vous connecter à l'interface SMTP à l'aide du protocole SSL implicite**
+ Sur la ligne de commande, tapez la commande suivante afin de vous connecter au serveur SMTP Amazon SES :

  ```
  openssl s_client -crlf -quiet -connect email-smtp.us-west-2.amazonaws.com:465
  ```

  Dans la commande précédente, remplacez *email-smtp.us-west-2.amazonaws.com* par l'URL du point de terminaison SMTP Amazon SES pour votre AWS région. Pour de plus amples informations, veuillez consulter [Régions et Amazon SES](regions.md).

  Si la connexion est réussie, vous obtenez une sortie similaire à ce qui suit :

  ```
  depth=2 C = US, O = Amazon, CN = Amazon Root CA 1
  verify return:1
  depth=1 C = US, O = Amazon, OU = Server CA 1B, CN = Amazon
  verify return:1
  depth=0 CN = email-smtp.us-west-2.amazonaws.com
  verify return:1
  220 email-smtp.amazonaws.com ESMTP SimpleEmailService-d-VCSHDP1YZ A1b2C3d4E5f6G7h8I9j0
  ```

  La connexion se ferme automatiquement au bout de 10 secondes d'inactivité.

------
#### [ PowerShell ]

Vous pouvez utiliser l'NetConnectionapplet [de commande Test-in](https://docs.microsoft.com/en-us/powershell/module/nettcpip/test-netconnection) PowerShell pour vous connecter au serveur SMTP Amazon SES.

**Note**  
L'applet de commande `Test-NetConnection` peut déterminer si votre ordinateur peut se connecter au point de terminaison SMTP Amazon SES. Toutefois, il ne teste pas si votre ordinateur peut établir une connexion SSL implicite ou explicite au point de terminaison SMTP. Pour tester une connexion SSL, vous pouvez installer OpenSSL pour Windows pour envoyer un e-mail de test.

**Pour vous connecter à l'interface SMTP à l'aide de l'applet de commande `Test-NetConnection`**
+ Dans PowerShell, entrez la commande suivante pour vous connecter au serveur SMTP Amazon SES :

  ```
  Test-NetConnection -Port 587 -ComputerName email-smtp.us-west-2.amazonaws.com
  ```

  Dans la commande précédente, remplacez *email-smtp.us-west-2.amazonaws.com* par l'URL du point de terminaison SMTP Amazon SES pour votre AWS région, puis *587* par le numéro de port. Pour en savoir plus sur les points de terminaison régionaux dans Amazon SES, consultez [Régions et Amazon SES](regions.md).

  Si la connexion aboutit, vous voyez une sortie similaire à l'exemple suivant :

  ```
  ComputerName     : email-smtp.us-west-2.amazonaws.com
  RemoteAddress    : 198.51.100.126
  RemotePort       : 587
  InterfaceAlias   : Ethernet
  SourceAddress    : 203.0.113.46
  TcpTestSucceeded : True
  ```

------

## Utilisation de la ligne de commande pour envoyer un e-mail via l'interface SMTP Amazon SES
<a name="send-email-using-openssl"></a>

Vous pouvez également utiliser la ligne de commande pour envoyer des messages à l'aide de l'interface SMTP Amazon SES. Cette procédure est utile pour tester les informations d'identification SMTP et tester la capacité de destinataires spécifiques à recevoir des messages que vous envoyez via Amazon SES.

------
#### [ Linux, macOS, or Unix ]

Lorsqu'un expéditeur d'e-mails se connecte à un serveur SMTP, le client émet un ensemble standard de demandes et le serveur répond à chaque demande avec une réponse standard. Cette série de demandes et de réponses est nommée *conversation SMTP*. Lorsque vous vous connectez au serveur SMTP Amazon SES à l'aide d'OpenSSL, le serveur attend une conversation SMTP.

Lorsque vous utilisez OpenSSL pour vous connecter à l'interface SMTP, vous devez encoder vos informations d'identification SMTP à l'aide de l'encodage base64. Cette section inclut les procédures d'encodage de vos informations d'identification à l'aide de base64.

**Pour envoyer un e-mail à partir de la ligne de commande à l'aide de l'interface SMTP**

1. Entrez ce qui suit sur la ligne de commande et remplacez-le *email-smtp.us-west-2.amazonaws.com* par l'URL du point de terminaison SMTP Amazon SES correspondant à votre Région AWS. Pour plus d'informations, consultez[Régions et Amazon SES](regions.md). :

   ```
    1. #!/bin/bash
    2. 
    3. # Prompt user to provide following information
    4. read -p "Configuration set: " CONFIGSET
    5. read -p "Enter SMTP username: " SMTPUsername
    6. read -p "Enter SMTP password: " SMTPPassword
    7. read -p "Sender email address: " MAILFROM
    8. read -p "Receiver email address: " RCPT
    9. read -p "Email subject: " SUBJECT
   10. read -p "Message to send: " DATA
   11. 
   12. echo
   13. 
   14. # Encode SMTP username and password using base64
   15. EncodedSMTPUsername=$(echo -n "$SMTPUsername" | openssl enc -base64)
   16. EncodedSMTPPassword=$(echo -n "$SMTPPassword" | openssl enc -base64)
   17. 
   18. # Construct the email
   19. Email="EHLO example.com
   20. AUTH LOGIN
   21. $EncodedSMTPUsername
   22. $EncodedSMTPPassword
   23. MAIL FROM: $MAILFROM
   24. RCPT TO: $RCPT
   25. DATA
   26. X-SES-CONFIGURATION-SET: $CONFIGSET
   27. From: $MAILFROM
   28. To: $RCPT
   29. Subject: $SUBJECT
   30. 
   31. $DATA
   32. .
   33. QUIT"
   34. 
   35. echo "$Email" | openssl s_client -crlf -quiet -starttls smtp -connect email-smtp.us-west-2.amazonaws.com:587
   ```

1. À l'invite correspondant à chaque variable, entrez vos valeurs.

1. 
   + Pour envoyer en utilisant le protocole SSL implicite sur le port 465, utilisez :

     ```
     openssl s_client -crlf -quiet -connect email-smtp.us-west-2.amazonaws.com:465
     ```

   Si le message est accepté par Amazon SES, vous voyez une sortie similaire à l'exemple suivant :

   ```
   250 Ok 01010160d7de98d8-21e57d9a-JZho-416c-bbe1-8ebaAexample-000000
   ```

   La chaîne de nombres et de texte qui suit `250 Ok` est l'ID de message de l'e-mail.
**Note**  
La connexion se ferme automatiquement au bout de 10 secondes d'inactivité.

------
#### [ PowerShell ]

Vous pouvez utiliser le [Net.Mail. SmtpClient](https://docs.microsoft.com/en-us/dotnet/api/system.net.mail.smtpclient?view=netframework-4.8)classe pour envoyer un e-mail en utilisant un protocole SSL explicite sur le port 587.

**Note**  
La classe `Net.Mail.SmtpClient` est officiellement obsolète, et Microsoft vous recommande d'utiliser des bibliothèques tierces. Ce code est destiné uniquement à des fins de test et ne doit pas être utilisé pour les charges de travail de production.

**Pour envoyer un e-mail à PowerShell l'aide d'un protocole SSL explicite**

1. Dans un éditeur de texte, créez un fichier. Collez le code suivant dans le fichier :

   ```
   function SendEmail($Server, $Port, $Sender, $Recipient, $Subject, $Body) {
       $Credentials = [Net.NetworkCredential](Get-Credential)
   
       $SMTPClient = New-Object Net.Mail.SmtpClient($Server, $Port)
       $SMTPClient.EnableSsl = $true
       $SMTPClient.Credentials = New-Object System.Net.NetworkCredential($Credentials.Username, $Credentials.Password);
   
       try {
           Write-Output "Sending message..."
           $SMTPClient.Send($Sender, $Recipient, $Subject, $Body)
           Write-Output "Message successfully sent to $($Recipient)"
       } catch [System.Exception] {
           Write-Output "An error occurred:"
           Write-Error $_
       }
   }
   
   function SendTestEmail(){
       $Server = "email-smtp.us-west-2.amazonaws.com"
       $Port = 587
   
       $Subject = "Test email sent from Amazon SES"
       $Body = "This message was sent from Amazon SES using PowerShell (explicit SSL, port 587)."
   
       $Sender = "sender@example.com"
       $Recipient = "recipient@example.com"
   
       SendEmail $Server $Port $Sender $Recipient $Subject $Body
   }
   
   SendTestEmail
   ```

   Lorsque vous avez terminé, enregistrez le fichier sous `SendEmail.ps1`.

1. Modifiez le fichier créé lors de l'étape précédente comme suit :
   + Remplacez *sender@example.com* par l'adresse e-mail à partir de laquelle vous souhaitez envoyer le message.
   + Remplacez *recipient@example.com* par l'adresse e-mail à laquelle vous souhaitez envoyer le message.
   + *email-smtp.us-west-2.amazonaws.com*Remplacez-le par l'URL du point de terminaison SMTP Amazon SES de votre AWS région. Pour de plus amples informations, veuillez consulter [Régions et Amazon SES](regions.md).

1. Dans PowerShell, entrez la commande suivante :

   ```
   .\path\to\SendEmail.ps1
   ```

   Dans la commande précédente, remplacez *path\$1to\$1SendEmail.ps1* par le chemin du fichier que vous avez créé à l'étape 1.

1. Lorsque vous y êtes invité, entrez votre nom d'utilisateur et votre mot de passe SMTP.

Vous pouvez également utiliser le [System.Web.Mail. SmtpMail](https://docs.microsoft.com/en-us/dotnet/api/system.web.mail.smtpmail?view=netframework-4.8)classe pour envoyer un e-mail en utilisant le protocole SSL implicite sur le port 465.

**Note**  
La classe `System.Web.Mail.SmtpMail` est officiellement obsolète, et Microsoft vous recommande d'utiliser des bibliothèques tierces. Ce code est destiné uniquement à des fins de test et ne doit pas être utilisé pour les charges de travail de production.

**Pour envoyer un e-mail à PowerShell l'aide du protocole SSL implicite**

1. Dans un éditeur de texte, créez un fichier. Collez le code suivant dans le fichier :

   ```
   [System.Reflection.Assembly]::LoadWithPartialName("System.Web") > $null
   
   function SendEmail($Server, $Port, $Sender, $Recipient, $Subject, $Body) {
       $Credentials = [Net.NetworkCredential](Get-Credential)
   
       $mail = New-Object System.Web.Mail.MailMessage
       $mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserver", $Server)
       $mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", $Port)
       $mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", $true)
       $mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", $Credentials.UserName)
       $mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", $Credentials.Password)
       $mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout", $timeout / 1000)
       $mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusing", 2)
       $mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", 1)
   
       $mail.From = $Sender
       $mail.To = $Recipient
       $mail.Subject = $Subject
       $mail.Body = $Body
   
       try {
           Write-Output "Sending message..."
           [System.Web.Mail.SmtpMail]::Send($mail)
           Write-Output "Message successfully sent to $($Recipient)"
       } catch [System.Exception] {
           Write-Output "An error occurred:"
           Write-Error $_
       }
   }
   
   function SendTestEmail(){
       $Server = "email-smtp.us-west-2.amazonaws.com"
       $Port = 465
       
       $Subject = "Test email sent from Amazon SES"
       $Body = "This message was sent from Amazon SES using PowerShell (implicit SSL, port 465)."
   
       $Sender = "sender@example.com"
       $Recipient = "recipient@example.com"
   
       SendEmail $Server $Port $Sender $Recipient $Subject $Body
   }
   
   SendTestEmail
   ```

   Lorsque vous avez terminé, enregistrez le fichier sous `SendEmail.ps1`.

1. Modifiez le fichier créé lors de l'étape précédente comme suit :
   + Remplacez *sender@example.com* par l'adresse e-mail à partir de laquelle vous souhaitez envoyer le message.
   + Remplacez *recipient@example.com* par l'adresse e-mail à laquelle vous souhaitez envoyer le message.
   + *email-smtp.us-west-2.amazonaws.com*Remplacez-le par l'URL du point de terminaison SMTP Amazon SES de votre AWS région. Pour de plus amples informations, veuillez consulter [Régions et Amazon SES](regions.md).

1. Dans PowerShell, entrez la commande suivante :

   ```
   .\path\to\SendEmail.ps1
   ```

   Dans la commande précédente, remplacez *path\$1to\$1SendEmail.ps1* par le chemin du fichier que vous avez créé à l'étape 1.

1. Lorsque vous y êtes invité, entrez votre nom d'utilisateur et votre mot de passe SMTP.

------