使用struts在java中的网站电子邮件配置

时间:2012-09-20 05:33:08

标签: java hibernate java-ee struts2

我在我的网站上使用struts 2.0 hibernate 3.0和tiles 3.0,我想发送邮件到info@shreerajinvestment.com 但我无法发送邮件,所以我必须做什么.....

http://shreerajinvestment.com/Home/send_feedback.action

package admin;

import java.util.Properties;

import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class SendMailFeedback {
    private String from;
    private String to;
    //private String cc;
    private String subject;
    private String password;
    private String text;

    public SendMailFeedback(String from, String to, String subject, String text, String password)
    {
        this.from = from;
        this.to = to;
        //this.cc = cc;
        this.subject = subject;
        this.text = text;
        this.password = password;
    }

    public void send() throws Exception
    {
        System.out.println("Send FeedBack");
        try 
        {
            Properties props = new Properties();
            props.put("mail.smtp.host", "smtp.gmail.com");
            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");

            Session session = Session.getDefaultInstance(props,new javax.mail.Authenticator(){protected PasswordAuthentication getPasswordAuthentication(){return new PasswordAuthentication(from,password);}});

            Message message = new MimeMessage(session);
            message.setFrom(new InternetAddress(from));
            message.setRecipients(Message.RecipientType.TO,InternetAddress.parse(to));
            //message.setRecipients(Message.RecipientType.CC,InternetAddress.parse(cc));
            message.setSubject(subject);
            //String link="www.shreerajinvestments.com";
            message.setText(text);
            System.out.println("MAIL");
            Transport.send(message);
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
    }
}

package admin;

import com.opensymphony.xwork2.ActionSupport;

public class sendFeedback extends ActionSupport
{
    private static final long serialVersionUID = 1L;

    private String name;
    private String email1;
    private String sub;
    private String msg;
    private String contact;

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }

    public String getEmail1() {
        return email1;
    }
    public void setEmail1(String email1) {
        this.email1 = email1;
    }
    public String getSub() {
        return sub;
    }
    public void setSub(String sub) {
        this.sub = sub;
    }
    public String getMsg() {
        return msg;
    }
    public void setMsg(String msg) {
        this.msg = msg;
    }
    public String getContact() {
        return contact;
    }
    public void setContact(String contact) {
        this.contact = contact;
    }

    String re;

    public String execute() throws Exception
    {
        System.out.println("Send FeedBack");
        try
        {
                addActionMessage("Your FeedBack is Send Successfully");

                String from = "abc@gmail.com";
                String to = "info@shreerajinvestment.com";

                String subject = sub;
                String text = "This Mail from http://www.shreerajinvestment.com/ \n\nThis FeedBack From : \n\n \t\t Sender Name :" + name + "\n\n\t\t Sender Email ID :" + email1 + "\n\n\t\t Sender Contact No. :" + contact + "\n\n\t\t" + msg;
                String password = "my password";

                SendMail SendMail = new SendMail(from, to, subject, text, password);
                SendMail.send();

                re=SUCCESS;
        }
        catch(Exception ex)
        {
            System.out.println("Connection Failed: "+ex);
            ex.printStackTrace();
        }
        return re;
    }
}

3 个答案:

答案 0 :(得分:1)

如果您点击UnknownHostException:smtp.gmail.com,请尝试ping smtp.gmail.com并确保您获得了响应(能够访问)。通常,您的连接可能会被防火墙或代理阻止。否则您需要将javaee.jar和mail.jar放入类路径中。
干杯...

答案 1 :(得分:1)

下载SMTP服务器服务器并转到链接 http://www.tutorialspoint.com/struts_2/struts_sending_email.html

答案 2 :(得分:0)

请尝试使用此邮件属性。检查您的邮件是否应该成功发送。

Properties props = new Properties();
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "587");