Отправить почту из GCLOUD на другой адрес электронной почты (Gmail, Yahoo). Как ссылка для подтверждения электронной почты, подтверждение подписки

     import java.util.*;  
import javax.mail.*;  
import javax.mail.internet.*;  
import javax.activation.*;  

public class SendEmail  
{  
 public static void main(String [] args){  
      String to = "gourab.p17@gmail.com";

      String from = "gp@sharenodes.com";
      String host = "localhost";//or IP address  


      Properties properties = System.getProperties();  
      properties.setProperty("mail.smtp.host", host);  


      Session session = Session.getDefaultInstance(properties);  

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

Я не хочу использовать sendgrid/google-email-api/mailgun. Я сопоставил DNS-A(хост) @ 23.236.49.96 600 секунд sharenodes.com, но не смог отправить почту. Пробовал properties.put("mail.smtp.port", "2525"); Но ни одна почта не получила ни ошибки. Для порта 25, 465, 587 выдает ошибку, так как Google заблокировал эти порты.

1 ответ

Google Compute Engine не разрешает исходящие соединения через порты 25, 465 и 587. При этом вы можете настроить свой собственный почтовый сервер на любом из портов, не заблокированных Compute Engine, или использовать партнерские сервисы, такие как SendGrid, Mailgun, или с помощью Google Apps. Информация документирована по этой ссылке

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