java - 使用java从PC发送短信到手机

标签 java email smtp sms

我已经构建了一个通过 Java 发送 SMS 消息的应用程序,但是在应用程序执行期间我遇到了很多异常(见下文):

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 = "mygmailuserid@gmail.com";
      String password = "mygmailpassword";
      String smtphost = "smtp.gmail.com";
      String compression = "My SMS Compression Information";
      String from = "mygmailid@gmail.com";
      String to = "+91mymobilenumber@sms.gmail.com";
      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();
}
} //

应用程序正在运行,但在我的邮箱中我收到了以下信息:

Delivery to the following recipient failed permanently:

+91mymobilenumber@sms.gmail.com

如何使用 Java 代码/库发送短信?

最佳答案

Gmail 不提供用于发送公共(public) SMS 的网关。

发送 SMS 消息通常需要付费。

查看此链接,它可以证明是有帮助的:

SMS JAVA Sample Code

这里是关于同一问题的另一个问题的链接:

i want to send sms to phone using java

关于java - 使用java从PC发送短信到手机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8616023/

相关文章:

.net - 如何将发送到我的 azure 网站的电子邮件重定向到另一个域上的客户电子邮件

java - JLabel 无法使用鼠标运动监听器正确移动,为什么?

java - Spring Boot 要求添加 bean,即使存在

java - 类型转换 Math.pow() 时精度损失

java - 是否有可能通过包含消息的 messegaID 的 url 在 gmail 中显示消息?

java - 将文件从 HDFS 附加到 javax.mail 电子邮件

php - Gmail使用原始 "TO"地址而不是 "FROM"地址进行回复

python - 用python编写简单的SMTP服务器

python - SMTPAuthenticationError : (535, b'5.7.8 Django 生产中不接受用户名和密码?

java - 如何在同一个窗口上创建多个屏幕?