Войти
 
 
 
Форум NotesNet Регистрация Список пользователей Последние сообщения Поиск Выход
Форум NotesNet > Все сообщения от: oshmianski
   

Разработка notes-приложений / Обсуждаем "Сборщик почты"

12/23/2009 01:14:55 PM
Сразу оговорюсь, что в JAVA не спец...

>Ну надо будет покапать это направление... может что иполучится...
>Если есть инфа как это работает, киньте ссылку(и)... :)
Это про SSL. Вот что у меня получилось:
import javax.net.*;
import javax.net.ssl.*;
public boolean openPop3(String serv, int isUseSSL, int port) // Create Pop3 session
{
try
{

LastError="";

// Open Pop3 server
if (isUseSSL!=1) {
pop3 = new Socket(serv, port);
} else {
SocketFactory factory = SSLSocketFactory.getDefault ();
pop3 = factory.createSocket (serv, port);
}

return true;
}catch(Exception e)
{LastError=e.toString(); return false;}
}
Работает, но...
При запуске в notes отрабатывает нормально, а на сервере Pop3Available() упорно не хочет возвращать 1 и более. Что интересно для обычного соединения, например с mail.ru, отрабатывает, а для SSL сваливается по timeout 10 (пробовал и 100).
Поэтому пришлось
public int Pop3Available()
{
try
{
//return pop3.getInputStream().available();
return 1;
}catch(Exception e)
{LastError="Pop3Available :: "+e.toString(); return 0;}
}
Смущает фраза в документации JAVA для public int available()
The available method for class InputStream always returns 0.

>Вот тут тоже надо разбиратся, у меня ж, все на прямую делается (работа с >портами и сокетами на прямую без каких-то специализированных библиотек по >работе с почтой). Если есть инфа, как работать с сокетами через проксю, киньте >ссылку(и)... :)
Когда-то писал RSS reader и вот, что у меня тогда получилось, может пригодится (кусок кода)...

private int reloadRSS (String urlStr, String proxyHost, String proxyPort, String proxyUser, String proxyPass) {
try {
String encoded = "";
URL url=new URL(urlStr);
URLConnection c = url.openConnection ();

if (!proxyHost.equals ("") && !proxyPort.equals ("")) {
System.setProperty("http.proxyHost", proxyHost);
System.setProperty("http.proxyPort", proxyPort);

if (proxyUser != null) {
System.setProperty("http.proxyUser", proxyUser);
System.setProperty("http.proxyPassword", proxyPass);

String str = proxyUser + ':' + proxyPass;
encoded = "Basic " + new sun.misc.BASE64Encoder().encode(str.getBytes());
c.setRequestProperty("Proxy-Authorization", encoded);
}

//Authenticator.setDefault (new HTTPAuthenticateProxy (proxyUser, proxyPass));
}

HttpURLConnection h = (HttpURLConnection) c;

if (h.getResponseCode() == 407) {
//System.out.println ("Код ответа: " + h.getResponseCode());
return -1;
}

InputStream is1 = c.getInputStream ();

>ну в клиенте это кнопочка для "экстренных" вызовов и тестов соединения, по >идее все делает шедульный агент...
Иногда есть желание получить почту сейчас, а не по шедульному расписанию (оно может быть и с промежутком в час).
Кроме того, может имеет смысл сделать отдельно для выделенных документов, а не всех сразу?

>>6. может стоит удалять c:\POP3_Message_Save.eml в конце работы агента или настройку
>> такую сделать?
>О! касяк. это у меня видать от тестов осталось...
Кроме того, может имеет смысл замахнуться на кроссплатформенность и отвязаться от логических дисков?

Ну, вот как-то так.
По поводу ссылок... Может это как-то поможет - http://java.sun.com/products/javamail/.

зы: может быть я чего-то не понял, но здесь высота тела ответа всегда 3см? очень не удобно.


Разработка notes-приложений / Обсуждаем "Сборщик почты"

12/22/2009 02:20:47 PM
да, и еще

6. может стоит удалять c:\POP3_Message_Save.eml в конце работы агента или настройку такую сделать?
7. агента в notes можно пусчать in background client thread. Тогда и фейс виснуть не будет и почта проверяться.


Разработка notes-приложений / Обсуждаем "Сборщик почты"

12/22/2009 02:14:36 PM
1. некоторые почтовые ящики требуют использование SSL при установке соединения, например gmail.com + порт 995.

2. не исключено использование других портов (кроме стандартных 110 и 25). может имеет смысл сделать для них поля на форме?

3. возможно ли скрытие пароля (кроме варианта тип поля Password + hide design)?

4. возможно ли прикрутить "хождение" через прокси (ведь не у всех может быть прямой выход в сеть)?

5. будет ли полезным в списке задач добавить колонки "Updated" и "Кол-во писем" (здесь имеется в виду количество полученных писем за последний сеанс связи)?

зы: спасибо Вам за инструмент


Разработка notes-приложений / Обсуждаем "Сборщик почты"

12/21/2009 03:37:00 PM
прикрутить SSL не планируется?

Дополнительно
Статистика форума Именинники
Новый пользователь: Олег Изосимов
Участников: 246
Тем: 166
Сообщений: 415
Нет именинников
Статистика
Самые активные авторы Новые пользователи Наиболее просматриваемы темы
Пользователи Сообщения
Ник Норки...150
Denny71
Мэкс29
Golembiov...19
CarteBlan...17
Duchan15
lmed13
Mitka Aku...13
susinmn10
Kachinkin8
Пользователи Сообщения
Олег Изос...0
yungert0
webguru1
tsibus_s1
nataname0
URSiP0
RK5D0
Эбзеев Ру...0
nuesro1
Илья (Доц...2
Тема Автор Просмотров Ответов
"плюсы" и "минусы" создания са...Ник Норкин5759854
Обсуждаем "Сборщик почты"Duchan3485727
Первое впечатлениеDNN2564713
Экспорт из oracle в lotusslavyan2523613
На сайте, в статьях не работаю...Duchan234533
HTTP POST из кода базыDaime159754
[Domino Designer]Не могу откры...SiM22140496
Lotus Sametime Connect 8.0.2 п...HardCool137031
Lotus CMSKachinkin135123
nginx + dominoNetWood116211
 
© LOGOSPHERE.RU