Вопрос об отправке письма из java-программы

Мне нужно отправить письмо из Java-программы. Сначала я пытаюсь понять основы. Я нашел фрагмент по адресу:

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();}  
   }  
}  

Мой вопрос в том, что согласно коду, похоже, что любой может использовать любую строку адреса электронной почты отправителя и отправлять бесконечные электронные письма на любой адрес электронной почты получателя. В моем понимании чего-то не хватает, что может предотвратить такой сценарий. Пожалуйста помоги.

Я понимаю, что это не вопрос программирования, но предполагаю, что для ответа на этот основной вопрос не потребуется слишком много времени, и я не знаю другого столь же активного форума.

1 ответ

Этот пример работает для серверов, которым не требуется аутентификация. И это обычно не относится к серверам smtp, используемым в производстве. Такие серверы используются в основном для целей тестирования, когда они не доступны через Интернет. Следовательно, хотя вы можете отправлять бесконечное количество писем, как упомянуто вами, никто не будет заинтересован в том, чтобы делать то же самое.

Для серверов, на которых необходима аутентификация, необходимо предоставить учетные данные. И это подробно объясняется в упомянутом вами блоге.

Другие вопросы по тегам