java - 在没有 JavaMail API 的情况下用 java 发送电子邮件

标签 java email classpath jakarta-mail

我正在开发一个应用程序,用户可以选择每 x 分钟向指定的电子邮件发送一封电子邮件。

我不想依赖 JavaMail(即依赖我的用户是否已将 JavaMail jar 添加到其类路径中)。

我意识到我可以继续创建一个服务器来执行此操作并使用必要的详细信息连接到它,但这是最后一个选项。

在这种情况下我将如何继续发送电子邮件?

是否有任何在线服务等(付费或免费)可以为此提供解决方案?例如,连接到他们并指定收件人电子邮件和消息,他们将处理电子邮件发送。

是否有任何智能和/或相当简单的方法来使用 Java Core 包发送电子邮件?

谢谢:)

迈克。

最佳答案

您可以通过打开到 smtp 服务器的套接字,然后写入该套接字。

Socket socket=new Socket("your.smtp.server",25);
br= new BufferedReader(newInputStreamReader(socket.getInputStream()));
os = socket.getOutputStream();
    smtp("HELLO " + toEmailAddress);
smtp("MAIL FROM: "+ fromEmailAddress);
smtp("DATA");
smtp(yourContent");

你的 smtp 方法只会从 bufferedreader 中读取并写入套接字

    public void smtp(String command) { 
           br.readLine();
           os.write(command.getBytes());
    }

关于java - 在没有 JavaMail API 的情况下用 java 发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6890316/

相关文章:

java - 使用 jodatime : wrong date conversion (-1 day) 获取 2 个 SQL 日期之间的天数

java - 将 BigInteger 拆分为半字节数组

mysql - WordPress 数据库邮件提取/收获

c# - .Net 邮件重复

java - Clojure REPL 未在 Windows 命令提示符下启动

java - 是否可以有 2 个子线程,每个子线程具有不同的类路径?

java - 高效地替换 ANTLRInputStream (ANTLRStringStream) 文件输入中的字符串或字符

java - Hazelcast:管理中心不工作

email - 从 Applescript 中的邮件规则获取消息

java - 从 cmd 运行程序时指定类路径时出错