2012-03-30 3 views
0

Ich verwende org.springframework.integration.mail.ImapMailReceiver von der Frühjahrsintegration, um einige E-Mails vom IMAP-Server zu lesen.javax.mail.URLName kann den Benutzernamen und das Passwort nicht analysieren, wenn der Benutzername ein '@' Zeichen enthält

Wie viele andere IMAP-Server verwendet der IMAP-Server, mit dem ich mich verbinde, E-Mail-Adressen als Benutzernamen.

Ich schaffe neue Instanz von ImapMailReceiver So auf diese Weise

neue ImapMailReceiver („imap: //[email protected]: [email protected]: 143/INBOX“);

I ImapMailReceiver verwendet URLname Klasse glauben die angegebene Zeichenfolge in Protokoll, Benutzer und usw.

jedoch zu analysieren, da die URL-Zeichenfolge enthält 2 ‚@‘ Zeichen ist URLname Klasse verwirrt und andernfalls den Benutzernamen zu analysieren und Passwort.

Hatten sonst noch jemand ähnliche Probleme? Wie bist du um dieses Problem herumgekommen?

Alle Kommentare werden berücksichtigt !!

Danke.

Antwort

2

Das "@" im Benutzernamen muss URL-codiert sein. Wenn Sie den URLName-Konstruktor verwenden, der separate Parameter für Benutzername, Kennwort usw. verwendet, wird dies für Sie erledigt. Wenn Sie es von Hand schreiben, müssen Sie es richtig schreiben, mit der richtigen Codierung für Sonderzeichen.

0

Ich habe versuchen, E-Mails von Google Mail zu bekommen, deshalb verwende ich imaps

`imapMailReceiver = new ImapMailReceiver("imaps://" + URLEncoder.encode(USERNAME, "UTF-8") + ":" + PASSWORD + "@imap.gmail.com:993/INBOX");` 

Nein, es funktioniert gut

Verwandte Themen