| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > java - рассылка сообщений |
| Автор: Berliner 30.5.2005, 11:38 |
| Здраствуйте! Хочу написать програмку которая рассылает почту- прикрепленные файл на определенный адрес(например me@mail.ru) если можно расскажите как это организовать(алгоритм). Какие классы использовать и какие методы. Это поможет мне выучить(попытаться) Java на конкретном примере. |
| Автор: maximb 30.5.2005, 11:44 |
| http://java.sun.com/developer/onlineTraining/JavaMail/contents.html |
| Автор: Berliner 30.5.2005, 15:04 |
| Спасиб Но у меня вопрос немогу подключить javax.mail.* Использую NetBeans 4.0 ; Java 1.5.0 как подключить классы? |
| Автор: maximb 30.5.2005, 15:10 |
| А в чем заключается проблема ? NetBeans не хочет этого делать или при подключении и/или компиляции появляется ошибка ? Если ошибка то какая ? |
| Автор: batigoal 30.5.2005, 15:11 |
| javax.mail - это пакет из J2EE, а не J2SE. Так что придется качнуть J2EE 1.4. |
| Автор: Berliner 30.5.2005, 15:12 |
| Или в чем пробллем почему немогу подключить javax.mail? ---If you use J2EE, there is nothing special you have to do to use the basic JavaMail API; it comes with the J2EE classes. Just make sure the j2ee.jar file is in your CLASSPATH and you're all set. Может быть в этом? P.S. Спасибо за ссылку Добавлено @ 15:14 Спасибо дайте ссылку плиз и как его провильно заинсталить? |
| Автор: batigoal 30.5.2005, 15:29 |
| http://java.sun.com/j2ee/1.4/download.html#sdk |
| Автор: Domestic Cat 30.5.2005, 18:48 | ||
А не многовато тянуть ради одного мейла?? http://java.sun.com/products/javamail/ |
| Автор: batigoal 30.5.2005, 18:54 |
| Не знал. Действительно, так только 2.25 Мб. |
| Автор: tux 31.5.2005, 06:26 |
| Можно посмотреть еще http://jakarta.apache.org/commons/email/ - очень простая библиотека, примеры там же. Скачать можно здесь - http://www.ibiblio.org/maven/commons-email/jars/commons-email-SNAPSHOT.jar. |
| Автор: Berliner 31.5.2005, 09:37 |
| Ок Спасиб скажите а если у меня IDE NEtBeans - J2SE а не J2EE ? В чем очновные отличия EE Entrprise Edition? (более полная версия?) а J2SE - стандартная версия, Правильно? и втрое скачал я библиотеку javax.mail -как ее правильно установить подскажите пожалуста Добавлено @ 09:42 Ок Спасиб скажите а если у меня IDE NEtBeans - J2SE а не J2EE ? В чем очновные отличия EE Entrprise Edition? (более полная версия?) а J2SE - стандартная версия, Правильно? и втрое скачал я библиотеку javax.mail -как ее правильно установить подскажите пожалуста. Библиотека в архиве 1,7 МБ |
| Автор: tux 31.5.2005, 09:59 |
| Неправильно |
| Автор: Berliner 31.5.2005, 11:54 |
| -----а для того, чтобы использовать библиотеку нужно ее саму (файлик javamail*.jar) положить в Classpath. И все будет о'кейно. Спасиб Поподробнее пожалуста куда это. 1. Я скачал без архива jar - в открытом виде! 2. Где находиться Classpath? Извините- но я новичок в Java |
| Автор: tux 31.5.2005, 12:41 |
| Наверное все-таки стоит почитать сперва про Java в FAQ на форуме и в книгах, там все достаточно подробно расписано. Все зависит от того как ты компилируешь и запускаешь - в командной строке нужно установить переменную CLASSPATH, в Netbeans задать параметры проекта, причем в 4.1 это еще и от типа созданного проекта зависит. Так что учиться, учиться и учиться |
| Автор: batigoal 31.5.2005, 12:52 | ||||
jar - это и есть архив.
До classpath'а добираться так (в винде): Мой компьютер --> Свойства --> Дополнительно --> Переменные среды My computer--> Properties--> Advanced--> Environment Variables В списке "Системные переменные" ("System Variables") должна быть переменная CLASSPATH. В нее надо добавить С:\lib\javamail.jar; или где там он у тебя лежит. Модераторам - предлагаю добавить фразу об изменении сlasspath в статью ФАКа ("Как начать работать с Java?"). А то этот вопрос постоянно возникает. |
| Автор: Zandr 31.5.2005, 13:31 |
| Lamer George, так и оформил бы статейку |
| Автор: batigoal 31.5.2005, 13:47 |
| Так она уже есть |
| Автор: Berliner 8.6.2005, 13:49 |
| Скажи а где посомтреть информацию про то как подключить класс. Кроие рамблер.ру я.ру гоогле.ру и вот посмотрея я в фак а там нет ответа на вопрос и еще если я пропишу в винде как говорил Лемер Жорж - в нет бинс я тоже понимаю надо настройки менять тоже и где вот нашел где касс прописыват в нет бинс не знаю . Подскажите плиз |
| Автор: batigoal 8.6.2005, 14:06 | ||||
| Что значит - "подключить класс"? Существует зарезервированное слово import. Если ты напишешь в самом начале файла класса импорты, то потом можешь обращаться к классу без использования квалифицированного (полного) имени. Пример 1.
Пример 2.
Они абсолютно равнозначны. При этом файлы использованных классов должны быть доступны компилятору. То есть их каталоги должны быть прописаны в classpath (при работе из текстового редактора) или быть включены в свойства проекта (при работе в визуальной среде). |
| Автор: Berliner 8.6.2005, 15:04 |
| Извините я неправильно выразился что такое импорт я знаю Я вот по какому поводу- как подключить библиотеку mail? а для того, чтобы использовать библиотеку нужно ее саму (файлик javamail*.jar) положить в Classpath. И все будет о'кейно. впредыдущем топике нужно читать не класс а библиотека. Спасиб. |
| Автор: chief39 8.6.2005, 15:04 | ||
| Погодите-ка, если человеку просто надо рассылать почту, то почему бы не попробовать
вместо качания javax.mail и дальше по тексту... вот только с аттачами не знаю как. не юзал его в своих корыстных целях. Загляни-ка туда, может подойдёт... а вот здесь, кстати, и примерчик изволит быть http://www.krasu.ru/server/docs/java/scjp/a_01.htm#mail_Q1 |
| Автор: Berliner 8.6.2005, 15:12 |
| Скажи а где посомтреть информацию про то как подключить БИБЛИОТЕКУ. и вот посмотрея я в фак а там нет ответа на вопрос ЛАМЕР дЖОРЖ ПИСАЛ: До classpath'а добираться так (в винде): Мой компьютер --> Свойства --> Дополнительно --> Переменные среды My computer--> Properties--> Advanced--> Environment Variables В списке "Системные переменные" ("System Variables") должна быть переменная CLASSPATH. В нее надо добавить С:\lib\javamail.jar; или где там он у тебя лежит. а В НЕТ БИНС НАДО НАСТРОЙКИ ГДЕ-ТО МЕНЯТЬ(ЧТО ТАМ ПРОПИСЫВАТЬ ЧТОБЫ БИБЛИОТЕКА ПОДКЛЮЧИЛАСЬ)? ПИСАТЬ ЭТУ ПРОГУ ДУМАЮ Ч ПОМОЩЬЮ НЕТ БИНС. спасиб |
| Автор: chief39 8.6.2005, 15:46 | ||
NET BEANS не видел, но по логике вещей, в ней тоже есть такая штука как проект, в рамках которого ты, собственно, всё и пишешь. У него в любом случае есть настройки. А в них что-то вроде PATH или "переменные среды" И там должен быть список всего что ты(и сама среда) подключил. Вот там добавь ещё и то что хотел добавить(путь туда пропиши к этому джарику) когда будешь запускать из IDE оно само добавит в строку запуска после -cp список всего подключённого, пользуясь настройками проекта. Поищи в NET BEANS, не думаю что эти настройки там очень замаскированы |
| Автор: Berliner 9.6.2005, 11:20 |
| Не могу разобраться где там что прописывать. Никто не знает как у этим с нет бинс? |
| Автор: Berliner 9.6.2005, 15:54 |
| Где прописывается classpath в NetBeans? Знатоки, помогайте плиз! уже все выкачал и вроде понаходил и прочитал на английском с сановского сайта как инставлить библиотеку а где classpath ненайду |
| Автор: batigoal 9.6.2005, 15:59 |
| Тебе AntonSaburov в другой теме уже ответил. |
| Автор: Berliner 10.6.2005, 11:24 |
| Спасибо, уже доставил буду пробывать что-то написать для рассылки почты Извините если надоел(но все таки поставил) |
| Автор: Berliner 12.6.2005, 15:36 |
| вот пробую и вылазит ошибки при компиляции - не подскажите почему? package Me; /** * * @author administrator */ public class Main { /** Creates a new instance of Main */ public Main() { /** * @param args the command line arguments */ public static void main(String[] args) { Properties props = new Properties(); Session session = Session.getDefaultInstance(props,null); MimeMessage message = new MimeMessage (session); message.SetContent("Hello","text/Plain"); message.SetSubject("Test"); // TODO code application logic here } } |
| Автор: batigoal 12.6.2005, 16:05 |
| Какие ошибки-то? Видимо, "Cannot resolve symbol"? Добавлено @ 16:06 Кстати, у тебя скобка после public Main() { не закрыта. |
| Автор: Berliner 12.6.2005, 16:48 |
| Не найден ни один главный класс |
| Автор: batigoal 12.6.2005, 21:40 |
| Наверное, его нужно выставить в свойствах проекта. |
| Автор: Guest 13.6.2005, 13:34 |
| ok попробую |
| Автор: Гость_Berliner 13.6.2005, 15:56 |
| Ттакое сообщение при компиляции init: deps-jar: Compiling 1 source file to C:\Documents and Settings\ADMINISTRATOR.SUMY.000\JavaApplication7\build\classes C:\Documents and Settings\ADMINISTRATOR.SUMY.000\JavaApplication7\src\Me\Main.java:23: illegal start of expression public static void main(String[] args) { C:\Documents and Settings\ADMINISTRATOR.SUMY.000\JavaApplication7\src\Me\Main.java:31: ';' expected } 2 errors СБОРКА ЗАВЕРШЕНА НЕУДАЧНО (общее время: 0 секунд) а при исполнить не найден ни один главный класс. Что может быть Подскажите пожалуста |
| Автор: batigoal 13.6.2005, 16:28 | ||
Как я уже написал -
Исправил? |
| Автор: Berliner 13.6.2005, 18:22 |
| А зачем у меня 3 открывающих и 3 закрывающих скобки парное число. А подскажите в коде где я должен закрыть а то чето я не дойду |
| Автор: batigoal 13.6.2005, 21:25 | ||
Я вижу толшько две закрывающих.
|
| Автор: Guest 14.6.2005, 10:50 |
| Спасиб package Me; public class Main { public Main() {} public static void main(String[] args) { Properties props = new Properties(); Session session = Session.getDefaultInstance(props,null); MimeMessage message = new MimeMessage (session); message.SetContent("Hello","text/Plain"); message.SetSubject("Test"); } } Но при компиляции выдает такое: init: deps-jar: Compiling 1 source file to C:\Documents and Settings\ADMINISTRATOR.SUMY.000\JavaApplication7\build\classes C:\Documents and Settings\ADMINISTRATOR.SUMY.000\JavaApplication7\src\Me\Main.java:24: cannot find symbol symbol : class Properties location: class Me.Main Properties props = new Properties(); C:\Documents and Settings\ADMINISTRATOR.SUMY.000\JavaApplication7\src\Me\Main.java:24: cannot find symbol symbol : class Properties location: class Me.Main Properties props = new Properties(); C:\Documents and Settings\ADMINISTRATOR.SUMY.000\JavaApplication7\src\Me\Main.java:25: cannot find symbol symbol : class Session location: class Me.Main Session session = Session.getDefaultInstance(props,null); C:\Documents and Settings\ADMINISTRATOR.SUMY.000\JavaApplication7\src\Me\Main.java:25: cannot find symbol symbol : variable Session location: class Me.Main Session session = Session.getDefaultInstance(props,null); C:\Documents and Settings\ADMINISTRATOR.SUMY.000\JavaApplication7\src\Me\Main.java:26: cannot find symbol symbol : class MimeMessage location: class Me.Main MimeMessage message = new MimeMessage (session); C:\Documents and Settings\ADMINISTRATOR.SUMY.000\JavaApplication7\src\Me\Main.java:26: cannot find symbol symbol : class MimeMessage location: class Me.Main MimeMessage message = new MimeMessage (session); 6 errors СБОРКА ЗАВЕРШЕНА НЕУДАЧНО (общее время: 3 секунды) |
| Автор: batigoal 14.6.2005, 21:18 |
| Не поставлены импорты для классов Properties, Session и MimeMessage. |
| Автор: Berliner 4.7.2005, 12:59 |
| package Me; import javax.mail.*; public class Main { public Main() {} public static void main(String[] args) { Properties props = new Properties(); Session session = Session.getDefaultInstance(props,null); MimeMessage message = new MimeMessage (session); message.SetContent("Hello","text/Plain"); message.SetSubject("Test"); Adress eadress = new InternetAdress ("svvua@ukr.net"); } } Properties props = new Properties(); C:\Documents and Settings\ADMINISTRATOR.SUMY.000\Me\src\me\Main.java:14: cannot find symbol symbol : class Properties location: class Me.Main Properties props = new Properties(); C:\Documents and Settings\ADMINISTRATOR.SUMY.000\Me\src\me\Main.java:16: cannot find symbol symbol : class MimeMessage location: class Me.Main MimeMessage message = new MimeMessage (session); C:\Documents and Settings\ADMINISTRATOR.SUMY.000\Me\src\me\Main.java:16: cannot find symbol symbol : class MimeMessage location: class Me.Main MimeMessage message = new MimeMessage (session); C:\Documents and Settings\ADMINISTRATOR.SUMY.000\Me\src\me\Main.java:19: cannot find symbol symbol : class Adress location: class Me.Main Adress eadress = new InternetAdress ("svvua@ukr.net"); C:\Documents and Settings\ADMINISTRATOR.SUMY.000\Me\src\me\Main.java:19: cannot find symbol symbol : class InternetAdress location: class Me.Main Adress eadress = new InternetAdress ("svvua@ukr.net"); 6 errors СБОРКА ЗАВЕРШЕНА НЕУДАЧНО (общее время: 6 секунд) Добавлено @ 13:00 Обидно 5 строк и сколько ошибок! Помогите плиз кто знает - вроде и импорт поставил. |
| Автор: igon 4.7.2005, 14:38 | ||
Компилится без ошибок, но в "кишочки" не лез, даже не запускал (мало ли... |
| Автор: Berliner 5.7.2005, 11:12 |
| package Me; import javax.mail.*; import java.util.*; import javax.mail.internet.*; public class Main { public Main() {} public static void main(String[] args) { Properties props = new Properties(); Session session = Session.getDefaultInstance(props,null); MimeMessage message = new MimeMessage (session); try { message.SetContent("Hello","text/Plain"); message.SetSubject("Test"); } catch(MessagingException e) { } try { Address eadress = new InternetAddress ("svvua@ukr.net"); } catch(AddressException e) { } } } Вот мой текст выдает 2 ошибки при сборке symbol : method SetContent(java.lang.String,java.lang.String) location: class javax.mail.internet.MimeMessage message.SetContent("Hello","text/Plain"); C:\Documents and Settings\ADMINISTRATOR.SUMY.000\Me\src\me\Main.java:22: cannot find symbol symbol : method SetSubject(java.lang.String) location: class javax.mail.internet.MimeMessage message.SetSubject("Test"); 2 errors и еще есть один вопрос что такое за catch(AddressException e) хочу узнать что за параметр e в эксепшине. Подскажите где ошибка плиз |
| Автор: Andyb 5.7.2005, 11:37 |
| скорее всего javax.mail в ClassPath'е не может найти |
| Автор: igon 5.7.2005, 16:12 | ||||||
| Java чувствительна к регистру: Set и set - разные вещи!!! У меня
У тебя
не работает Ты уж будь, please, повнимательней
Поищи в Google javax.mail.internet.AddressException; |
| Автор: Berliner 12.7.2005, 18:06 | ||
| Спасиб вроде без ошибок Но овсталось несколько вопросов 1. Если я пытаюсь компилить запустить программу то вылазить следующий ексепшин. xception in thread "main" java.lang.NoClassDefFoundError: javax/activation/DataSource at Me.Main.main(Main.java:19) Java Result: 1 2.Может что то с транспортом я не то написал. И последнее может кто нить подскажет как отослать эттач а то я не могу разобраться в Сановском тюториале Вот код:
|
| Автор: Berliner 14.7.2005, 16:45 |
| Никто не знает ничего Хочу написать программу которая файлі рассілает помогите плиз Добавлено @ 16:46 Спасиб ! если кто может - помогите |
| Автор: igon 15.7.2005, 00:29 | ||||
В таком виде дает ошибку
А что за Сановский тюториал? У меня он есть (The JavaTM Tutorial ), но там про mail ни звука. ИМХО, тебе лучше найти подходящий пример и уже его подстраивать под себя, чем пытаться писать все с нуля. |
| Автор: batigoal 15.7.2005, 09:57 | ||
Просто он не входит в поставку JDK. Туториал есть тут: http://java.sun.com/developer/onlineTraining/JavaMail/contents.html |
| Автор: Berliner 15.7.2005, 17:05 |
| вот вот нужен пример чтобы слал куда нить письмо. Вот и я с транспортом нимогк разобраться. Знатоки помогите. А сановский учебник взял там откуда качал мэйл пекедж. смотрите выше в топике. помогите с транпортом разобраться |
| Автор: igon 15.7.2005, 21:45 | ||
Письмо на svvua@ukr.net получил? |
| Автор: Zandr 16.7.2005, 10:27 |
| А вот использование Java activation framework при работе с Java mail еще никто не отменял. Его (activation.jar, который прикреплен к моему посту) нужно тоже положить на CLASSPATH, если этого еще не сделано. |
| Автор: Berliner 17.7.2005, 22:49 |
| Спасиб буду пробывать |
| Автор: Berliner 18.7.2005, 12:18 |
| Спасиб получил!!!! буду с кодом разбараться что есть что потом может еще че то спрошу |
| Автор: Guest 23.8.2005, 17:20 |
| javax.mail.MessagingException: IOException while sending message; nested exception is: javax.activation.UnsupportedDataTypeException: no object DCH for MIME type text/plain at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:566) at javaapplication1.Main.main(Main.java:50) из вышеприведенного кода... |
| Автор: Zandr 24.8.2005, 05:52 | ||
Запусти-ка вот это:
На CLASSPATH должны быть mail.jar и activation.jar. О результатах доложить. |
| Автор: Maksym 24.8.2005, 10:29 |
| Zandr Спасибо за ответ Отработал молча без исключений. Но ничего никуда не пришло. Что делать? |
| Автор: Zandr 24.8.2005, 11:02 |
| Интересно Варианты: 1) Указан неправильный почтовый адрес 2) Указан неправильный SMTP хост 3) Указанный адрес не зарегистрирован на хосте (и это не smtp-proxy хост) 4) На хосте стоит "молчаливый" спам-фильтр, который принял письмо за спам 5) Все-таки пришло, пока ты писал ответ 6) Может еще что... Можно попробовать добавить свойство "mail.transport.protocol" = "smtp", но сомневаюсь что это поможет... |
| Автор: Maksym 24.8.2005, 15:31 |
| Zandr 1) почтовый адрес, которым я пользуюсь 2) smtp.mail.ru, добавил строки props.setProperty("mail.user", "login"); props.setProperty("mail.password", "password"); 3) зарегистрирован (пользуюсь) 4) очень может быть 5) не-а 6) буду думать.. Можно ли как-то откуда-то получить информацию о том как прошла отправка? smtp-сервер ведь возвращает инфу... |
| Автор: Maksym 24.8.2005, 16:34 |
| Zandr Прошу прощения, ошибся. Исключение, которое я описал выше остается. javax.activation.UnsupportedDataTypeException: no object DCH for MIME type text/plain; charset=us-ascii Для проверки выкачал и установил activation.jar размещенный выше. Ничего не изменилось: javax.activation.UnsupportedDataTypeException: no object DCH for MIME type text/plain; charset=us-ascii |
| Автор: Maksym 24.8.2005, 17:03 |
| Исключение не возникает если использовать: message.setContent("Hello, Vingrad citizen!", "text"); но письмо при этом не приходит |
| Автор: Zandr 25.8.2005, 06:52 |
| Отправил тебе по почте либы, исходник и build файл. Распаковывай, смотри, собирай, запускай. |
| Автор: Zandr 25.8.2005, 07:50 |
| С mail.ru не запустится... Там нужна аутентификация при отправке. Выставление соответствующих свойств ничего не даёт, позже буду разгребать. |
| Автор: Maksym 25.8.2005, 14:59 |
| Zandr Все заработало. После долгого сравнения работающего и неработающего вариантов разница обнаружилась только в том, что Mail.jar, с которым я морочился был Implementation-Version: 1.3.2ea (скачал с оф.сайта), а тот с которым все заработало Implementation-Version: 1.3.2 (его прислал ты) Большое спасибо |