#java #email #jakarta-mail #java.lang
#Ява #Адрес электронной почты #джакарта-почта #java.lang
Вопрос:
Пытаясь отправить почту с помощью smtp, использовал все необходимые файлы jar(mail.jar и activation.jar) но всегда показывает эту ошибку
ошибка, отображаемая при запуске файла testmail
Я использовал два класса, один из которых предназначен для отправки электронной почты, а другой вызывает функцию в этом файле
Код для sendmail.java
import javax.mail.*; import javax.mail.internet.*; class SendMail{ public static void send(String from,String password,String to,String sub,String msg){ //Get properties object Properties props = new Properties(); props.put("mail.smtp.host", "smtp.gmail.com"); props.put("mail.smtp.socketFactory.port", "465"); props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.port", "465"); //get Session Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(from,password); } }); //compose message try { MimeMessage message = new MimeMessage(session); message.addRecipient(Message.RecipientType.TO,new InternetAddress(to)); message.setSubject(sub); message.setText(msg); //send message Transport.send(message); System.out.println("message sent successfully"); } catch (MessagingException e) {throw new RuntimeException(e);} } }
Код для testmail.java
public class testmail{ public static void main(String[] args) { //from,password,to,subject,message SendMail.send("myemail","mypassword","reciever","hello javatpoint","How r u?"); System.out.println("message sent successfully"); //change from, password and to } }
оба файла компилируются, но когда я выполняю файл testmail, отображается ошибка
Я использовал сервер apache tomcat 9.0
Ответ №1:
пожалуйста , проверьте свою версию javax.mail
, которую я использую 1.6.2
, нет проблем с запуском вашего кода.