Suivez votre progression
Accueil Trailhead
Accueil Trailhead

Création d’une classe Apex

Atelier du développeur Salesforce

Dans cette étape, vous allez créer une classe EmailManager qui encapsule la logique d’envoi d’e-mail de confirmation aux intervenants à la conférence.

Étape 1 : Créer la classe EmailManager

  1. Cliquez sur Icône Configuration et sélectionnez Developer Console.

    Menu déroulant qui s'affiche lorsque l’on clique sur l’icône Configuration

  2. Dans la Developer Console, cliquez sur File (Fichier) > New (Nouveau) > Apex Class (Classe Apex). Saisissez le nom de classe EmailManager, puis cliquez sur OK.

  3. Remarque : Votre organisation DE contient peut-être déjà une classe EmailManager créée lors d’un défi antérieur Trailhead. Si c’est le cas, vous pouvez supprimer ou remplacer cette classe pour réaliser ce projet.
  4. Copiez ce qui suit dans la Developer Console.

    Astuce : Vous pouvez copier et coller n’importe quel fragment de code depuis Trailhead en cliquant sur copy (copier) en haut à droite.

    public with sharing class EmailManager{
        public void sendMail(String [] addresses, String [] subjects, String [] messages) {
            Messaging.SingleEmailMessage [] emails = new Messaging.SingleEmailMessage[]{};
            Integer totalMails = addresses.size();
            for(Integer i=0; i < totalMails; i++){
                Messaging.SingleEmailMessage email = new Messaging.SingleEmailMessage();
                email.setSubject(subjects[i]);
                email.setToAddresses(new List<String> { addresses[i] });
                email.setPlainTextBody(messages[i]);
                emails.add(email);
            }
            Messaging.sendEmail(emails);
        }
    }
    
  5. Cliquez sur File (Fichier) > Save (Enregistrer) pour enregistrer le fichier.

Étape 2 : Envoyer un e-mail

Dans ce étape, vous testez la classe EmailManager en envoyant un e-mail depuis la Developer Console. Plus loin dans ce projet, vous allez intégrer la classe EmailManager à d’autres parties de l’application afin d’automatiser le processus d’envoi d’e-mails de confirmation.

  1. Dans la Developer Console, cliquez sur Debug (Déboguer) > Open Execute Anonymous Window (Ouvrir la fenêtre d’exécution anonyme).

  2. Saisissez le code Apex suivant (en insérant votre propre adresse e-mail).

    String address = 'YOUR_EMAIL_ADDRESS';
    String subject = 'Speaker Confirmation';
    String body = 'Thank you for speaking at the conference.';
    String[]  addresses = new String[]{},
              subjects = new String[]{},
              messages = new String[]{};
    addresses.add(address);
    subjects.add(subject);
    messages.add(body);
    EmailManager em = new EmailManager();
    em.sendMail(addresses, subjects, messages);
    
  3. Cliquez sur le bouton Execute (Exécuter).

  4. Consultez votre messagerie. Vous devriez avoir reçu un email de confirmation.

Étape 3 : Utiliser une méthode statique

EmailManager est une classe utilitaire qui ne fonctionne pas avec des variables spécifiques à une instance. Par conséquent, vous pouvez rendre la méthode sendMail() statique.

  1. Dans la Developer Console, ouvrez la classe EmailManager.

  2. Pour convertir sendMail() en méthode statique, changez sa signature comme suit (ajoutez le mot-clé static).

    public static void sendMail(String[] addresses, String[] subjects, String[] messages) {
    
  3. Enregistrez le fichier.

  4. Revenez à la fenêtre Execute Anonymous Window (Exécution de la fenêtre anonyme) (Debug (Déboguer) > Open Execute Anonymous Window (Ouvrir la fenêtre d’exécution anonyme)).

  5. Modifiez le code Apex pour invoquer sendMail() de façon statique (indiquez votre propre adresse email).

    String address = 'YOUR_EMAIL_ADDRESS';
    String subject = 'Speaker Confirmation';
    String body = 'Thank you for speaking at the conference.';
    String[]  addresses = new String[]{},
              subjects = new String[]{},
              messages = new String[]{};
    addresses.add(address);
    subjects.add(subject);
    messages.add(body);
    EmailManager.sendMail(addresses, subjects, messages);
    
  6. Cliquez sur Execute (Exécuter), puis vérifiez votre messagerie.