Envoi de SMS depuis un PC vers un mobile à l'aide de java
J'ai construit une application qui envoie des messages SMS via Java, mais je reçois de nombreuses exceptions lors de l'exécution de l'application (voir ci-dessous):
package john;
import java.io.*;
import java.net.InetAddress;
import java.util.Properties;
import java.util.Date;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
public class SMTPSend {
public SMTPSend() {
}
public void msgsend() {
String username = "[email protected]";
String password = "mygmailpassword";
String smtphost = "smtp.gmail.com";
String compression = "My SMS Compression Information";
String from = "[email protected]";
String to = "[email protected]";
String body = "Hello SMS World!";
Transport myTransport = null;
try {
Properties props = System.getProperties();
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.socketFactory.port", "465");
props.put("mail.smtp.socketFactory.class",
"javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "465");
Session mailSession = Session.getDefaultInstance(props, null);
Message msg = new MimeMessage(mailSession);
msg.setFrom(new InternetAddress(from));
InternetAddress[] address = {new InternetAddress(to)};
msg.setRecipients(Message.RecipientType.TO, address);
msg.setSubject(compression);
msg.setText(body);
msg.setSentDate(new Date());
myTransport = mailSession.getTransport("smtp");
myTransport.connect(smtphost, username, password);
msg.saveChanges();
myTransport.sendMessage(msg, msg.getAllRecipients());
myTransport.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] argv) {
SMTPSend smtpSend = new SMTPSend();
smtpSend.msgsend();
}
} //
L'application est en cours d'exécution mais dans ma boîte aux lettres, j'ai reçu ce qui suit:
Delivery to the following recipient failed permanently:
[email protected]
Comment puis-je envoyer un SMS en utilisant du code/des bibliothèques Java?
3
Author: Rann Lifshitz, 2011-12-23
2 answers
Veuillez apporter quelques modifications à la variable suivante:
String smtphost = "gmail.com";
Remplacez-le par:
String smtphost = "smtp.gmail.com";
3
Author: Lucifer, 2018-04-16 12:18:17
Gmail ne fournit pas de passerelle pour l'envoi de SMS publics.
L'envoi de SMS coûte normalement de l'argent.
Vérifier ce lien, il peut s'avérer utile:
Voici un lien vers une autre question posée sur SO concernant le même problème:
4
Author: nIcE cOw, 2018-04-16 12:18:49