繁体   English   中英

关于从java程序发送email的问题

[英]A question about sending email from java program

我需要从 java 程序发送 email。 我首先尝试了解基础知识。 我在以下位置找到了一个片段:

https://www.javatpoint.com/example-of-sending-email-using-java-mail-api

import java.util.*;  
import javax.mail.*;  
import javax.mail.internet.*;  
import javax.activation.*;  
  
public class SendEmail  
{  
 public static void main(String [] args){  
      String to = "sonoojaiswal1988@gmail.com";//change accordingly  
      String from = "sonoojaiswal1987@gmail.com";change accordingly  
      String host = "localhost";//or IP address  
  
     //Get the session object  
      Properties properties = System.getProperties();  
      properties.setProperty("mail.smtp.host", host);  
      Session session = Session.getDefaultInstance(properties);  
  
     //compose the message  
      try{  
         MimeMessage message = new MimeMessage(session);  
         message.setFrom(new InternetAddress(from));  
         message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));  
         message.setSubject("Ping");  
         message.setText("Hello, this is example of sending email  ");  
  
         // Send message  
         Transport.send(message);  
         System.out.println("message sent successfully....");  
  
      }catch (MessagingException mex) {mex.printStackTrace();}  
   }  
}  

我的问题是,根据代码,看起来任何人都可以使用任何发件人 email 地址字符串并向任何收件人 email 地址发送无限电子邮件。 我在我的理解中遗漏了一些东西,这将防止这种情况发生。 请帮忙。

我知道这不是一个编程问题,但猜想,回答这个基本问题不会花费太多时间,而且不知道任何其他同样活跃的论坛。

此示例适用于不需要身份验证的服务器。 这通常不适用于生产中使用的 smtp 服务器。 此类服务器主要用于不通过 Internet 公开的测试目的。 因此,尽管可以发送您提到的无限数量的邮件,但没有人有兴趣这样做。

对于需要身份验证的服务器,需要提供凭据。 这在您提到的博客中进行了详细说明。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM