如何使用java发送未经身份验证的电子邮件
我想用java发送没有身份验证的电子邮件。 有人能帮我吗 对于身份验证,我的操作如下:如何使用java发送未经身份验证的电子邮件,java,email,authentication,smtp,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");
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();
}
我忘了说我没有医疗机构。最后,我需要一个提供商,我有来自主题和消息的电子邮件,需要如何发送此电子邮件?尝试以下示例:
// File Name SendEmail.java
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
public class SendEmail
{
public static void main(String [] args)
{
// Recipient's email ID needs to be mentioned.
String to = "abcd@gmail.com";
// Sender's email ID needs to be mentioned
String from = "web@gmail.com";
// Assuming you are sending email from localhost
String host = "localhost";
// Get system properties
Properties properties = System.getProperties();
// Setup mail server
properties.setProperty("mail.smtp.host", host);
// Get the default Session object.
Session session = Session.getDefaultInstance(properties);
try{
// Create a default MimeMessage object.
MimeMessage message = new MimeMessage(session);
// Set From: header field of the header.
message.setFrom(new InternetAddress(from));
// Set To: header field of the header.
message.addRecipient(Message.RecipientType.TO,
new InternetAddress(to));
// Set Subject: header field
message.setSubject("This is the Subject Line!");
// Now set the actual message
message.setText("This is actual message");
// Send message
Transport.send(message);
System.out.println("Sent message successfully....");
}catch (MessagingException mex) {
mex.printStackTrace();
}
}
}
Via:如果仅用于测试目的,您可以尝试。运行时,Papercut会自动拾取发送到任何IP地址的标准SMTP端口(25)的电子邮件。你只需从你的申请表中发送邮件,然后切换到剪纸来查看它 github剪纸:
我忘了说我没有医疗机构。我需要一个提供商最后,我有一封来自主题和消息的电子邮件,需要如何发送此电子邮件?你看到答案末尾的链接了吗?我不太理解您在评论中的疑问?这与Java无关。只有在邮件服务器允许的情况下,您才可以发送电子邮件而不进行身份验证,在这种情况下,您将省略
setAuthentication()
调用。如果SMTP服务器需要身份验证,则必须提供身份验证。如果您正在测试,则可以使用模拟SMTP服务器,或设置自己的真实SMTP服务器,并在不进行身份验证的情况下对其进行配置。遇到问题com.sun.mail.SMTP.SMTPSendFailedException:530-5.7.0需要身份验证。了解更多信息,请访问530 5.7.0 o6sm1435614pgg.37-gsmtp,访问com.sun.mail.SMTPTransport.issueSendCommand(SMTPTransport.java:2249),访问com.sun.mail.SMTPTransport.mailFrom(SMTPTransport.java:1740),访问com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1239),访问javax.mail.Transport.send0(Transport.java:255)在javax.mail.Transport.send(Transport.java:124)在com.necti.smsemail.SimpleEmail.main(SimpleEmail.java:59)如果我想使用sendgrid apikey,我应该如何发送它?
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);
}
}
import java.util.*;
import javax.mail.*;
public class SimpleEmail {
public static void main(String[] args) {
System.out.println("SimpleEmail Start");
String smtpHostServer = "smtp.gmail.com";
String toEmail = "XXXX@gmail.com";
Properties props = System.getProperties();
props.put("mail.smtp.host", smtpHostServer);
props.put("mail.smtp.starttls.enable", true);
props.put("mail.smtp.port", "25");
Session session = Session.getDefaultInstance(props);
try {
MimeMessage msg = new MimeMessage(session);
msg.addHeader("Content-type", "text/HTML; charset=UTF-8");
msg.addHeader("format", "flowed");
msg.addHeader("Content-Transfer-Encoding", "8bit");
msg.setFrom(new InternetAddress("n91eply@gmail.com", "NoReply-JD"));
msg.setReplyTo(InternetAddress.parse("n91eply@gmail.com", false));
msg.setSubject("SimpleEmail Testing Subject", "UTF-8");
msg.setText("SimpleEmail Testing Body", "UTF-8");
msg.setSentDate(new Date());
msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(toEmail, false));
System.out.println("Message is ready");
Transport.send(msg);
System.out.println("EMail Sent Successfully!!");
} catch (Exception e) {
e.printStackTrace();
}
}
}