我在我的网站上使用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;
}
}
答案 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");