>> Technologie Électronique >  >> Téléphones portables et accessoires >> Téléphones portables

Comment envoyer un SMS via des applications Java

Vous pouvez envoyer un SMS à n'importe quel téléphone via un programme Java. Une expérience en programmation Java aide. Vous devez connaître l'opérateur du destinataire. Le principe : exploiter le fait que la plupart des opérateurs permettent l'accès à leurs adresses SMTP (Simple Mail Transfer Protocol). Il suffit d'utiliser Java pour envoyer un e-mail à la bonne adresse : VotreNumeroDixChiffres@SMTPDeVotreOperateur.com. La liste des adresses SMTP des opérateurs se trouve dans les Ressources. Vous aurez aussi besoin d'Eclipse For Java Developers IDE (si pas déjà installé) pour installer facilement les bibliothèques Java nécessaires.

Ce dont vous aurez besoin

  • Eclipse for Java Developers IDE
  • Java Runtime Environment version 6 ou supérieure

Instructions

Préparer Eclipse, votre projet et JavaMail

  1. Téléchargez et installez Eclipse depuis https://www.eclipse.org/downloads/. Nous l'utiliserons pour écrire le code Java et installer la bibliothèque JavaMail.

  2. Allez sur le lien « JavaMail Download » (Ressources). Cliquez le bouton bleu « Download ». Cochez « Agree to JavaMail License Agreement » et « Continue ». Cliquez sur « javamail-1.4.3.zip ». Choisissez « Enregistrer ».

  3. Décompressez « javamail-1.4.3.zip » (double-clic). Notez l'emplacement.

  4. Ouvrez Eclipse. Cliquez « Fichier », « Nouveau », « Projet Java ». Nommez « SMSText » et cliquez « Terminer ».

  5. Cliquez sur le dossier « SMSText » dans l'explorateur de packages (barre gauche) et sélectionnez « Propriétés ».

  6. Cliquez « Java Build Path » à gauche, puis « Add External JARs... » à droite. Allez dans le dossier décompressé « JavaMail-1.4.3 », cliquez « Mail.jar », puis « OK » deux fois. La bibliothèque JavaMail est chargée pour votre projet SMSText.

Envoyer un message

  1. Clic droit sur le projet « SMSText » dans Eclipse, « Nouveau », « Classe ». Nommez « MailClient » et « Terminer ».

  2. Sélectionnez tout le code dans MailClient.java et remplacez-le par le code Java suivant :

    import javax.mail.*;
    import javax.mail.internet.*;
    import java.util.Properties;
    
    public class MailClient {
        public void sendMail(String from, String to, String subject, String messageBody) throws MessagingException, AddressException {
            // Configurer serveur mail
            String host = "votre_smtp_operateur_email";
            String username = "votre_email@adresse.com";
            String password = "votre_mot_de_passe_email";
            Properties props = new Properties();
            props.put("mail.smtps.auth", "true");
    
            // Session mail
            Session session = Session.getDefaultInstance(props, null);
    
            // Nouveau message
            MimeMessage message = new MimeMessage(session);
            message.setFrom(new InternetAddress(from));
            message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
            message.setSubject(subject);
            message.setText(messageBody);
    
            // Envoi
            Transport t = session.getTransport("smtps");
            try {
                t.connect(host, username, password);
                t.sendMessage(message, message.getAllRecipients());
            } finally {
                t.close();
            }
        }
    
        public static void main(String[] args) {
            try {
                MailClient client = new MailClient();
                String from = "votre_adresse_email";
                String to = "NumeroDestinataire10Chiffres@SMTPDeSonOperateur.com";
                String subject = "Test";
                String message = "Je teste. Vois-tu ce message ?";
    
                client.sendMail(from, to, subject, message);
            } catch (Exception e) {
                e.printStackTrace(System.out);
            }
        }
    }
    
  3. Allez sur le lien « Adresses SMTP des opérateurs email » (Ressources). Trouvez votre opérateur, copiez l'adresse. Remplacez le texte entre guillemets de « votre_smtp_operateur_email » (à côté de « String host = »). Exemple Gmail : String host = "smtp.gmail.com";

  4. Remplacez « votre_email@adresse.com » par votre adresse e-mail.

  5. Remplacez « votre_mot_de_passe » par votre mot de passe e-mail. Nécessaire pour que Java envoie depuis votre adresse. Ces infos ne sont pas visibles ni envoyées sur le web.

  6. Dans la méthode « public static void main », remplacez « votre_adresse_email » à côté de « from = » par votre e-mail.

  7. Allez sur le lien « Adresses SMTP des opérateurs mobiles » (Ressources). Cherchez l'opérateur du destinataire. Exemple : numéro 555-555-5555 chez Verizon → « 5555555555@vtext.com ».

  8. Remplacez « NumeroDestinataire10Chiffres@SMTPDeSonOperateur.com » par l'adresse trouvée.

  9. Modifiez « Subject » ou « Message » comme souhaité, ou gardez « Test » et « Je teste. Vois-tu ce message ? ».

  10. Cliquez le bouton vert « Play » pour exécuter. Rien ne s'affiche en console. Le destinataire reçoit le SMS normalement.

Téléphones portables