java - 我如何使用 java 在不进行身份验证的情况下发送电子邮件

标签 java email authentication smtp

我想使用 java 发送电子邮件而无需身份验证。 有人可以帮助我吗?

对于身份验证,我按如下方式进行:

    public void sendEmail() throws EmailException{
    SimpleEmail email = new SimpleEmail();
    email.setHostName("smtp.gmail.com");
    email.setSmtpPort(465);
    email.addTo("XXX@gmail.com", "XXXX");
    email.setFrom("XXXX@gmail.com","XXXXX");
    email.setSubject("testando . . .");
    email.setMsg("testando 1");
    email.setSSL(true);
    email.setAuthentication("xxxxxx@gmail.com", "XXXXX");
    email.send();
}

我忘了说我没有供应商。我终于需要一个提供者,我有 emailFrom Subject 和 Message,需要如何发送这封电子邮件?

最佳答案

如果只是为了测试,可以试试Papercut .在运行时,Papercut 会自动接收发送到任何 IP 地址上的标准 SMTP 端口 (25) 的电子邮件。您只需从您的应用程序发送邮件并切换到 Papercut 来查看它。

Papercut @github: https://github.com/ChangemakerStudios/Papercut/releases

import java.util.Date;
import java.util.Properties;

import javax.mail.Message.RecipientType;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class SendMail {

    public static void main(String[] args) throws Exception {
        Properties props = new Properties();
        props.put("mail.smtp.host", "127.0.0.1");
        props.put("mail.smtp.port", "25");
        props.put("mail.debug", "true");
        Session session = Session.getDefaultInstance(props);
        MimeMessage message = new MimeMessage(session);
        message.setFrom(new InternetAddress("admin@test.com"));
        message.setRecipient(RecipientType.TO, new InternetAddress("a@b.com"));
        message.setSubject("Notification");
        message.setText("Successful!", "UTF-8"); // as "text/plain"
        message.setSentDate(new Date());
        Transport.send(message);
    }

}

关于java - 我如何使用 java 在不进行身份验证的情况下发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22841632/

相关文章:

java - 哪个 java.lang.Error 后代可以安全捕获?

email - Jenkins 和 Office365 电子邮件通知设置

email - Gmail SMTP 需要 "app password"吗?

java - 将curl请求转换为HttpURLConnection

Angular 2 Route Guard/Auth Guard 安全

java - Hibernate 返回错误的结果集并生成错误的查询

java - 从基类构造函数创建子类实例

java - 从 DOM 获取 XML 字符串

android - 何时删除用于附加电子邮件的 Intent.SEND 中使用的临时文件?

iphone - 在 iOS 应用程序中使用 wordpress 用户帐户