Ich versuche einen Code zu entwickeln, der das Versenden von Mails mit Javamail ohne Authentifizierung ermöglicht.
Properties properties = System.getProperties();
properties.put("mail.smtp.auth", "false");
properties.put("mail.smtp.starttls.enable", "true");
properties.put("mail.smtp.host", "smtp.gmail.com");
properties.put("mail.smtp.port", 587);
Session session = Session.getInstance(properties);
try {
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress("xxxxxx@hotmail.com"));
message.addRecipient(Message.RecipientType.TO,
new InternetAddress("yyyyyyy@gmail.com"));
message.setSubject("This is the Subject Line!");
message.setText("This is actual message");
Transport.send(message);
System.out.println("Sent message successfully....");
} catch (MessagingException mex) {
mex.printStackTrace();
}
Aber wenn ich es ausführe, bekomme ich diese Ausnahme
com.sun.mail.smtp.SMTPSendFailedException: 530-5.5.1 Authentication Required.
Ist es möglich, Mails ohne Authentifizierung zu versenden? Verpasse ich etwas
Antworten:
0 für die Antwort № 1Versuche dies
Properties props = new Properties();
props.put("mail.smtp.host", mailHost);
props.put("mail.smtp.port", port);
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
Session session = Session.getInstance(props, new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
session.setDebug(true);
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(fromAddress));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(toAddress));
message.setSubject(subject);
message.setContent(body, "text/html; charset=utf-8");
message.setText(body);
Transport.send(message);
0 für die Antwort № 2
Google Mail unterstützt insbesondere nicht das unerlaubte Senden von E-Mails. Die meisten öffentlichen SMTP-Server werden nicht (mehr) verwendet, da dies zu viel Missbrauch führt.
Sie kann In der Lage sein, eine öffentliche SMTP zu finden, die keine Authentifizierung erfordert, aber sie werden seltener. Sie können jederzeit Ihre eigene SMTP ausführen oder einfach ... die Authentifizierung hinzufügen.
Insbesondere wenn Sie Google Mail verwenden, können Sie einfach Ihre Anmeldeinformationen eingeben.