Javamail自动回复我的域名

时间:2012-03-25 21:21:09

标签: javamail

Javamail自动回复

我真的想使用Javamail自动回复电子邮件。

我已经使用我的域名电子邮件在注册时发送确认码。

我现在需要的是将电子邮件发送到choices@mydomain.com我可以根据解析和阅读收到的电子邮件,使用预设电子邮件自动回复。在回复中包含用户名会很不错。

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

这种最简单的方法是编写一个程序来监控您的邮箱,并根据它看到的每条消息创建并发送回复。 JavaMail下载包包含一个示例程序monitor.java,可以帮助您入门。 MimeMessage.reply方法将很有帮助。您必须自己填写回复邮件的内容。各种其他JavaMail示例程序将向您展示如何在创建消息后发送消息。

不要忘记阅读JavaMail FAQ

答案 1 :(得分:1)

很好思考John,我的项目中遇到了同样的问题,在JSP中我解决了它,如下所示,java类为ReadingMail

package com;import java.io.*;import java.util.*;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
public class ReadingMail {
public static void main(String args[]) throws Exception {
    try{
        String host = "pop.gmail.com";
        String user="username";
        String password="password";
    // Get system properties
   Properties properties = System.getProperties();

    // Get the default Session object.
    Session session = Session.getDefaultInstance(properties, null);

    // Get a Store object that implements the specified protocol.
    Store store = session.getStore("pop3s");

    //Connect to the current host using the specified username and password.
    store.connect(host, user, password);

    //Create a Folder object corresponding to the given name.
    Folder folder = store.getFolder("inbox");

    // Open the Folder.
    folder.open(Folder.READ_ONLY);

    Message[] message = folder.getMessages();

    // Display message.
    for (int i = 0; i < message.length; i++) {

        System.out.println("------------ Message " + (i + 1) + " ------------");

        System.out.println("SentDate : " + message[i].getSentDate());
        System.out.println("From : " + message[i].getFrom()[0]);
        System.out.println("Subject : " + message[i].getSubject());
        System.out.print("Message : ");

        InputStream stream = message[i].getInputStream();
        while (stream.available() != 0) {
            System.out.print((char) stream.read());
        }
        System.out.println();
    }

    folder.close(true);
    store.close();
    }
    catch(Exception e)
    {
        System.out.println(e);
    }
}
public String Manu()
{
    String email=null;
    try{
        String host = "pop.gmail.com";
 //        String user = "xyz";
 //        String password = "12345";
        String user="username@gmail.com";
        String password="password";
    // Get system properties
   Properties properties = System.getProperties();

    // Get the default Session object.
    Session session = Session.getDefaultInstance(properties, null);

    // Get a Store object that implements the specified protocol.
    Store store = session.getStore("pop3s");

    //Connect to the current host using the specified username and password.
    store.connect(host, user, password);

    //Create a Folder object corresponding to the given name.
    Folder folder = store.getFolder("inbox");

    // Open the Folder.
    folder.open(Folder.READ_ONLY);

    Message[] message = folder.getMessages();




    // Display message.
    for (int i = 0; i < message.length; i++) {

        System.out.println("------------ Message " + (i + 1) + " ------------");

       // System.out.println("SentDate : " + message[i].getSentDate());
        //System.out.println("From : " + message[i].getFrom()[0]);
        email=message[i].getFrom()[0]==null?null:((InternetAddress) message[i].getFrom()[0]).getAddress();
        System.out.println("From addrss is..........................."+email);
       // System.out.println("Subject : " + message[i].getSubject());
        System.out.print("Message : ");

        InputStream stream = message[i].getInputStream();
        while (stream.available() != 0) {
            System.out.print((char) stream.read());
        }
        System.out.println();
    }

    folder.close(true);
    store.close();
    }
    catch(Exception e)
    {
        System.out.println(e);
    }
    return email;
}

您可以从数据库中获取用户名,并在此程序中将其作为消息提供。