各位进来看的朋友,我最近在写一个邮件发送和接收的程序,使用JAVA的一个组件,JavaMail
我在写发送程序的时候,老是提示我出错。我改了好久都没能做出来,希望各位高手能给我个帮助,
最好是发送一个源程序代码,一个简单的列子就可以了。
这是我的源代码,
import javax.mail.*;
import javax.mail.internet.*;
import java.util.Properties;
public class MailSend
{
public static void main(String [] args){
int argLen=args.length;
if(argLen!=2)
  {
   System.out.println("Error");
   return;
  }
 String hostName=args[0];
 String to=args[1];
 Properties prop=new Properties();
 prop.put ("mail.transport.default","smtp");
 prop.put("mail.smtp.host",hostName);
 try{
     Session mysession=Session.getInstance(prop,null);
     Message meg=new MimeMessage(mysession);
     meg.setSubject("Test Message");
     meg.setContent("Hello Dennis,This is a Test Message","text/plain");
     InternetAddress toAdd=new InternetAddress(to);
     meg.setRecipient(Message.RecipientType.TO,toAdd);
     InternetAddress fromAdd=new InternetAddress("[email protected]");
     meg.setFrom(fromAdd);
     System.out.println ("Sending Message");
     Transport.send(meg);
     System.out.println("Message Sent");
     
    }
    catch(AddressException ae)
     {
      System.out.println("Invalid Address"+ae);
     }
     catch(MessagingException me)
     {
      System.out.println ("Message Failure:"+me);
     }
  
     catch(Exception ex)
     {
      System.out.println ("Failure:"+ex);
     }
}
}
我的运行方式是:java MailSend smtp.eyou.com [email protected]
我不知道是哪里出错了,谢谢
我的分数不多,但我是很有诚意的。

解决方案 »

  1.   

    仔细看看异常信息给段代码参考  public void send(String from, String to,
                       String subject, String content) {
        Properties props = new Properties();
        props.put("mail.smtp.host", host);
        props.put("mail.smtp.auth", "true");
        try {
          Session mailSession = Session.getDefaultInstance(props);      mailSession.setDebug(true);      Message message = new MimeMessage(mailSession);
          DataHandler dh = new DataHandler(message, "text/plain");
          message.setDataHandler(dh);      message.setFrom(new InternetAddress(from));
          message.addRecipient(Message.RecipientType.TO,
                               new InternetAddress(to));      message.setSubject(subject);
          message.setContent(content, "text/html;charset=gb2312");
          message.saveChanges();      Transport transport = mailSession.getTransport("smtp");
          transport.connect(host, user, password);
          transport.sendMessage(message, message.getAllRecipients());
          transport.close();
        }
        catch (Exception e) {
          System.out.println(e);
        }
      }
      

  2.   

    给我回复的这位朋友,我看了你的程序后有几个地方看不明白,我想能多和你直接交谈,得到你的帮助,希望能和你在QQ里面交谈,如果你会再来看这个贴子的话,请你留下你的QQ号,我的QQ号是278851372,期待着你。这个问题烦恼了我很久了,因为身边没有这方面的朋友,所以只能自己一个人,研究。很苦恼啊