Member 13809409 Ответов: 1

Я не могу отправить электронную почту[SMTP] с помощью программы java


мне нужно отправить электронную почту с помощью smtp сервера с помощью java программирования

Что я уже пробовал:

<pre lang="java">package com.techstar.com;

import java.util.Properties;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class IpAdress
{
 public static void main(String [] args){
	 // email ID of Recipient.
	 String to = "msr2858@gmail.com";//change accordingly  
     String from = "siddareddy.moolam@gmail.com";//change accordingly  
     String host = "smtp.gmail.com";//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();}  
  }  
}  


выход:
javax.mail.MessagingException: не удалось подключиться к SMTP-хосту: smtp.gmail.com, порт: 25;
вложенное исключение-это:
java.net.ConnectException: время ожидания соединения (время ожидания соединения)
на ком.солнце.почте.протокол SMTP.SMTPTransport.контроллеров Intel ® для openserver(SMTPTransport.Ява:1706)
в com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:525)
в пакете javax.почте.Обслуживание.подключение(обслуживание.Ява:291)
в пакете javax.почте.Обслуживание.подключение(обслуживание.Ява:172)
в пакете javax.почте.Обслуживание.подключение(обслуживание.Ява:121)
в javax.mail.Transport.send0(Transport.java:190)
в javax.mail.Transport.send(Transport.java:120)
в com.techstar.com-да.IpAdress.main(IpAdress.java:34)
Вызвано: java.net.ConnectException: время ожидания соединения (время ожидания соединения)
в java.net.PlainSocketImpl.socketConnect(собственный метод)
в java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
в java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
в java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
в java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
в java.net.Socket.connect(Socket.java:589)
в java.net.Socket.connect(Socket.java:538)
в com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:284)
в com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:227)
на ком.солнце.почте.протокол SMTP.SMTPTransport.контроллеров Intel ® для openserver(SMTPTransport.Ява:1672)
... Еще 7

Mohibur Rashid

вы установили smtp-сервер?

Member 13809409

нет

1 Ответов

Рейтинг:
10

Jochen Arndt

Просто поищите в интернете что-нибудь вроде "java smtp gmail", чтобы узнать, как установить свойства для использования SMTP-сервера Gmail:

Properties properties = new Properties();
properties.put("mail.smtp.auth", "true");
properties.put("mail.smtp.starttls.enable", "true");
properties.put("mail.smtp.host", "smtp.gmail.com");
properties.put("mail.smtp.port", "587");

Session session = Session.getInstance(props,
    new javax.mail.Authenticator() {
        protected PasswordAuthentication getPasswordAuthentication() {
        return new PasswordAuthentication(username, password);
    }
});
Обратите также внимание, что вы должны настроить используемую учетную запись GMail (указанную в поле от и переданные учетные данные), чтобы разрешить отправку писем из ненадежных приложений.

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


Member 13809409

Спасибо сработало..я включил в безопасности доступ в приложении gmail