smtp服务器用于通过java邮件api发送邮件

问题描述:

我使用java邮件api发送邮件,我需要知道用于在开发环境中发送测试邮件的参数 如果我想使用smtp.gmail.com作为smtp邮件服务器,它有端口465 - 在互联网上找到,我需要将身份验证设置为true用户名和密码也设置或身份验证= false罚款? 如果authentication = true则需要用户名,密码是我的gmail用户名&密码?smtp服务器用于通过java邮件api发送邮件

另外如何设置电子邮件中的抄送地址和密件抄送地址?

寻找发送电子邮件下手 感谢

如果您想使用Gmail,请参阅JavaMail FAQ

这不是一个编程问题的最根本途径。首先,如果你不是一个动态分配的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"); 
    }