2012-02-16 4 views
0

Я могу отправить от Yahoo и Gmail, но независимо от того, что я делаю, я не могу отправить из hotmail.Отправить с hotmail с Javamail?

public class LiveSenderActivity extends javax.mail.Authenticator { 
private String mailhost = "smtp.live.com"; 
private String user; 
private String password; 
private Session session; 

static { 
    Security.addProvider(new com.provider.JSSEProvider()); 
} 

public LiveSenderActivity(String user, String password) { 
    this.user = user; 
    this.password = password; 

    // This connects to the actual mailserver 
    Properties props = new Properties(); 
    props.setProperty("mail.transport.protocol", "smtp"); 
    props.setProperty("mail.host", mailhost); 
    props.put("mail.smtp.port", "587"); 
    props.put("mail.smtp.starttls.enable", "true"); 
    props.put("mail.smtp.auth", "true"); 

    props.put("mail.smtp.socketFactory.port", "587"); 
    props.put("mail.smtp.socketFactory.class", 
      "javax.net.ssl.SSLSocketFactory"); 
    props.put("mail.smtp.socketFactory.fallback", "false"); 
    props.setProperty("mail.smtp.quitwait", "false"); 

    session = Session.getDefaultInstance(props, this); 
} 

Я пробовал с использованием SSL и без него, а с портом 25 вместо 587 ... Ничего.

Я что-то не так? Как я уже сказал, Yahoo и GMAIL работать как шарм, но это не ..

Это не дает мне какие-либо ошибки, либо ..

+0

Его несчастливо, потому что наш клиент делает. Поэтому нам нужно его реализовать. И его сложно доказать ... – VicVu

+0

. Более подходящий ответ можно найти здесь (http://stackoverflow.com/questions/9086420/using-javamail-to-send-from-hotmail). – VicVu

ответ

1

ли this JavaMail FAQ entry помощь?

JavaMail 1.4 способен отправлять и читать сообщения с использованием Hotmail. Все, что требуется, - это правильно настроить JavaMail. Я проиллюстрирую правильную конфигурацию с помощью демонстрационных программ, которые поставляются с JavaMail - msgshow.java и smtpsend.java.

Предположим, что ваше имя пользователя Hotmail - «[email protected]», и ваш пароль «passwd».

Чтобы читать почту с Hotmail Входящие, вызовите msgshow следующим образом:

java msgshow -D -T pop3s -H pop3.live.com -U [email protected] -P passwd 

Читая исходный код msgshow.java, вы можете увидеть, как эти аргументы командной строки используются в API JavaMail. Вы должны сначала попробовать использовать msgshow, как показано выше, и как только вы перейдете к написанию и настройке собственной программы для использования Hotmail. Фрагмент кода, показанный выше для подключения к Gmail, также будет работать для подключения к Hotmail, просто изменив имя хоста.

Чтобы отправить сообщение через Hotmail, вызовите smtpsend следующим образом:

java -Dmail.smtp.starttls.enable=true -Dmail.smtp.port=587 smtpsend 
    -d -M smtp.live.com -U [email protected] -P passwd 
    -A [email protected] 

(Обратите внимание, что я разделил команду на протяжении трех строк для отображения, но вы должны ввести его в одной строке.)

Программа smtpsend использует свойства System при создании сеанса JavaMail, поэтому свойства, заданные в командной строке, будут доступны для сеанса JavaMail.

Программа smtpsend предложит текст текста темы и сообщения. Завершите тело сообщения с помощью^D в UNIX или^Z в Windows.

Снова вы можете прочитать исходный код smtpsend.java, чтобы узнать, как используются аргументы командной строки в API JavaMail. Фрагмент кода, показанный выше для подключения к Gmail, также будет работать для подключения к Hotmail, просто изменив имя хоста и изменив вызов соединения на t.connect (host, 587, username, password). Разумеется, существует несколько способов использования API JavaMail для достижения той же цели. Это должно помочь вам понять основные параметры конфигурации, необходимые для использования Hotmail.

+0

Я уже это пережил. Это не объясняло ничего, что помогло мне конкретно ... – VicVu

+0

Ваш код по-прежнему содержит файлы фабрики сокетов, которые вам не нужны, и вы все еще используете getDefaultInstance вместо getInstance. Что показывает трассировка протокола? Вы читали советы по отладке чата JavaMail? –

Смежные вопросы