fel*_*ner 2 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();
}
Run Code Online (Sandbox Code Playgroud)
我忘了说我没有提供者。我最终需要一个提供商,我有 emailFrom Subject 和 Message,需要如何发送这封电子邮件?
如果仅用于测试目的,您可以尝试Papercut。在运行时,Papercut 会自动选取发送到任何 IP 地址上的标准 SMTP 端口 (25) 的电子邮件。您只需从您的应用程序发送邮件并切换到 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);
}
}
Run Code Online (Sandbox Code Playgroud)