簡體   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