smtp服务器用于通过java邮件api发送邮件
我使用java邮件api发送邮件,我需要知道用于在开发环境中发送测试邮件的参数 如果我想使用smtp.gmail.com
作为smtp邮件服务器,它有端口465 - 在互联网上找到,我需要将身份验证设置为true
用户名和密码也设置或身份验证= false罚款? 如果authentication = true则需要用户名,密码是我的gmail用户名&密码?smtp服务器用于通过java邮件api发送邮件
另外如何设置电子邮件中的抄送地址和密件抄送地址?
寻找发送电子邮件下手 感谢
这不是一个编程问题的最根本途径。首先,如果你不是一个动态分配的IP地址(这可能是垃圾邮件阻塞的许多邮件服务器),你不需要一个SMTP服务器。你只需要“toaddress @ domain”并将“域”部分解析为邮件交换处理程序(DNS MX记录查找),并直接与该服务器建立SMTP连接并将邮件放到那里。你不要自己编写这个程序,因为邮件处理应用程序或中间件应该知道如何完成这一切。
如果您不是干净的静态IP地址,那么您可能无法这么做,因为许多SMTP服务器会拒绝来自此类地址的连接(常见的垃圾邮件来源!)。
在这种情况下,您的第一个解决方案是通过您的Internet提供商提供的SMTP服务器进行中继。 (它可能是安全的,所以你必须设置你的身份验证凭据。)
如果这不起作用(例如它太不安全或其他垃圾邮件友好,如此广泛黑名单),那么你看看其他地方SMTP发送解决方案。
没有人可以为你解答,因为最好的SMTP服务器取决于你如何连接到互联网。
为了使用Gmail作为您的电子邮件服务器,您必须根据JavaMail API标准设置一些属性,如主机,端口,身份验证等。您可以从 https://support.google.com/a/answer/176600?hl=en
示例代码获取这些详细信息:
public class SendMail
{
public SendMail()
{
// mail properties outgoing server (gmail.com)
Properties props = new Properties();
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.port", "465");
props.put("mail.smtp.auth", "true");
//Create session object
Authenticator auth = new SMTPAuthenticator();
Session session = Session.getInstance(props,auth);
//prepare mail msg
MimeMessage msg = new MimeMessage(session);
//set header values
msg.setSubject("open to it know it1");
msg.setFrom(new InternetAddress("[email protected]"));
//Here in below line, you can specify RecipientType as TO/CC/BCC as per your requirement
msg.addRecipient(Message.RecipientType.TO, new InternetAddress("[email protected]"));
//msg text
msg.setText("mail from HCL Technlogies");
Transport.send(msg);
private class SMTPAuthenticator extends javax.mail.Authenticator {
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("[email protected]","raryan500");
}