Форум   Статьи   Новости   Файлы   Bugtraq   Сниффер   Друзья   О Клубе
  , 15:36   #1
НЕ ПРОВЕРЕН
 
Регистрация: 28.11.2012
Сообщений: 4

Репутация: 0 / 0
Question Ошибка с сендером

Сделал сендер на почту, типо что то не работает.
Эклипс выдает странную ошибку. 2 часа ломал голову в чем же дело?

Файл SMGCF.java (Используется как пакет для основного сендера)
Java highlight
package com.devcolibri.ssl;

import java.util.*;
import java.io.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
 
public class SMGCF {
	
        private String username;
        private String password;
        private Properties props;
     
        public SMGCF(String username, String password) 
                throws MessagingException {
            this.username = username;
            this.password = password;
     
            props = new Properties();
            props.put("mail.smtp.host", "smtp.mail.ru");
            props.put("mail.smtp.socketFactory.port", "465");
            props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
            props.put("mail.smtp.auth", "true");
            props.put("mail.smtp.port", "465");
        }
     
        public void send(String subject, String text, String fromEmail, String toEmail){
            Session session = Session.getDefaultInstance(props, new Authenticator() {
                protected PasswordAuthentication getPasswordAuthentication() {
                    return new PasswordAuthentication(username, password);
                }
            });
     
            try {
                Message message = new MimeMessage(session);
                message.setFrom(new InternetAddress(username));
                message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(toEmail));
                message.setSubject(subject);
                message.setText(text);
                Transport.send(message);
            } catch (MessagingException e) {
                throw new RuntimeException(e);
            }
        }
}
сендер:
Java highlight
package com.devcolibri.ssl;

public class ToConfig {
	 
	    private static com.devcolibri.ssl.SMGCF sslSender = new com.devcolibri.ssl.SMGCF("?@mail.ru", "*****");
	 
	    public static void main(String[] args){
	        sslSender.send("Тема", "Text", "?@mail.ru", "?@mail.ru");
	    }
	
	}
Значит вот в чем проблема: Когда ставлю в строке
Java highlight
public SMGCF(String username, String password)
из SMGCF.java запятую перед password, возникает ошибка, но в основном файле ошибка исчезает. И на оборот.
IMAGE http://s010.radikal.ru/i312/1412/9a/284f1ad87b5c.png

IMAGE http://s020.radikal.ru/i703/1412/0f/0bafe74bf8e4.png
 
Пользователь вне форума    
Наши Спонсоры
  , 16:12   #2
НЕ ПРОВЕРЕН
 
Регистрация: 28.11.2012
Сообщений: 4

Репутация: 0 / 0
По умолчанию

С этим разобрался! Теперь надо приаттачить файл.
Java highlight
package com.devcolibri.ssl;

import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.*;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import java.util.*;
import java.io.*;
import javax.mail.internet.*;
import javax.activation.*;
 
public class SMGCF {
	
        private String username;
        private String password;
        private Properties props;
     
        public SMGCF(String username, String password) 
                 {
            this.username = username;
            this.password = password;
     
            props = new Properties();
            props.put("mail.smtp.host", "smtp.mail.ru");
            props.put("mail.smtp.socketFactory.port", "465");
            props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
            props.put("mail.smtp.auth", "true");
            props.put("mail.smtp.port", "465");
        }
     
        public void send(String subject, String text, String fromEmail, String toEmail){
            Session session = Session.getDefaultInstance(props, new Authenticator() {
                protected PasswordAuthentication getPasswordAuthentication() {
                    return new PasswordAuthentication(username, password);
                }
            });
     
            try {
                Message message = new MimeMessage(session);
                message.setFrom(new InternetAddress(username));
                message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(toEmail));
                message.setSubject(subject);
                
                message.setText(text);
                Multipart mpMess = new MimeMultipart();
                BodyPart bpMess = new MimeBodyPart();
                mpMess.addBodyPart(bpMess);
                bpMess = new MimeBodyPart();
                String filename = "файл";                               
           DataSource source = new FileDataSource(filename);
           bpMess.setDataHandler(new DataHandler(source));
           bpMess.setFileName(filename);
           mpMess.addBodyPart(bpMess);
           
           message.setContent(mpMess);
     
                Transport.send(message);
            } catch (MessagingException e) {
                throw new RuntimeException(e);
            }
        }
}
Ошибка:
source:
Exception in thread "main" java.lang.RuntimeException: javax.mail.MessagingException: IOException while sending message;
  nested exception is:
	java.io.IOException: javax.mail.MessagingException: No MimeBodyPart content
	at com.devcolibri.ssl.SMGCF.send(SMGCF.java:73)
	at com.devcolibri.ssl.ToConfig.main(ToConfig.java:8)
Caused by: javax.mail.MessagingException: IOException while sending message;
  nested exception is:
	java.io.IOException: javax.mail.MessagingException: No MimeBodyPart content
	at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1244)
	at javax.mail.Transport.send0(Transport.java:254)
	at javax.mail.Transport.send(Transport.java:124)
	at com.devcolibri.ssl.SMGCF.send(SMGCF.java:71)
	... 1 more
Caused by: java.io.IOException: javax.mail.MessagingException: No MimeBodyPart content
	at com.sun.mail.handlers.multipart_mixed.writeTo(multipart_mixed.java:105)
	at javax.activation.ObjectDataContentHandler.writeTo(Unknown Source)
	at javax.activation.DataHandler.writeTo(Unknown Source)
	at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1608)
	at javax.mail.internet.MimeMessage.writeTo(MimeMessage.java:1849)
	at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1196)
	... 4 more
 
Пользователь вне форума    
 

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Проблема] Синий Экран Смерти! Нужна помощь! Firephoenix1467 Windows 32 07.12.2016 09:54
[Вопрос] нужен хороший брут kolyaaa Софт для Windows 55 29.08.2013 13:53
Звуки Bios na-krulou Windows 3 10.03.2012 20:08
[Обзор] Ошибки Windows Sma1L Новичкам 1 14.10.2010 21:59
MS Access. Ошибка в связях voffka_1 MS Access 0 15.11.2009 19:07



Часовой пояс GMT +2
Powered by vBulletin® 3.x.x Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.

Copyright © 2008 - 2013 «HPC» Реклама на сайте Правила Форума Пользовательское соглашение Работа на сайте
При копировании материалов ставьте ссылку на источник
Все материалы представлены только в ознакомительных целях, администрация за их использование ответственности не несет.