2015-10-12 2 views
0

Я использую эту библиотеку для отправки электронной почты в своем университете, пока я правильно управляю сервером и устанавливаю все свои конфигурации, но когда я пытаюсь отправить электронное письмо, я Получите эту ошибку и я попытался поместить адрес, но сервер отрицает мне эту привилегию. Может ли кто-нибудь сказать мне, что я могу сделать? Вот мой код и выше ошибки.Отправка электронной почты с помощью javax.mail на сервере zimbra

import java.util.Properties; 
import javax.mail.Message; 
import javax.mail.MessagingException; 
import javax.mail.PasswordAuthentication; 
import javax.mail.Session; 
import javax.mail.Transport; 
import javax.mail.internet.InternetAddress; 
import javax.mail.internet.MimeMessage; 

public class SendanEmail { 

    public static void main(String[] args) { 

     final String username = "user";//THIS IS THE SUPPOSE USER I said I alredy got in the server 
     final String password = "pass"; 

     Properties props = new Properties(); 

     props.put("mail.smtp.starttls.enable", "true"); 
     props.put("mail.smtp.auth", "true"); 
     props.put("mail.smtp.host", "smtp.estudiantes.uci.cu"); 
     props.put("mail.smtp.port", "25"); 
     props.put("mail.smtp.ssl.trust", "smtp.estudiantes.uci.cu"); 
     Session session = Session.getInstance(props, 
       new javax.mail.Authenticator() { 
        protected PasswordAuthentication getPasswordAuthentication() { 
         return new PasswordAuthentication(username, password); 
        } 
       }); 

     try { 

      Message message = new MimeMessage(session); 
      //message.setFrom(new InternetAddress("[email protected]")); 
      message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("[email protected]")); 
      message.setSubject("Test"); 
      message.setText("Text content in my email"); 

      Transport.send(message); 

      System.out.println("Done and done"); 

     } catch (MessagingException e) { 
      throw new RuntimeException(e); 
     } 
    } 
} 

И это исключение в программе:

Exception in thread "main" java.lang.RuntimeException: javax.mail.MessagingException: can't determine local email address 
    at sendanemail.SendanEmail.main(SendanEmail.java:55) 
Caused by: javax.mail.MessagingException: can't determine local email address 
    at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1640) 
    at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1194) 
    at javax.mail.Transport.send0(Transport.java:254) 
    at javax.mail.Transport.send(Transport.java:124) 
    at sendanemail.SendanEmail.main(SendanEmail.java:50) 
Java Result: 1 

ответ

0

Вы пытаетесь установить свойство "mail.from"?

https://javamail.java.net/nonav/docs/api/

+0

Да, но тогда сервер отвечает, что я не позволил изменить ту часть –

+0

Какой сервер? Возможно, вам необходимо убедиться, что «from» экспортируется в среду. Вы можете отправлять почту с самого сервера? – DV88