Ниже приведен мой код, который не дает мне ошибки, но электронная почта также не получена в моей учетной записи.Я просмотрел все посты об этой вещи и изменил свой код соответственно.Я действительно новичок в этом, поэтому этот вопрос может показаться глупым, но все же любые указания / предложения приветствуются.Также сервлет будет работать на Google App Engine.И я использую имя пользователя и пароль моей учетной записи Gmail вместо abc@gmail.com
и пароля.Благодарю.
import java.io.IOException;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.NoSuchProviderException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class UserFeedback extends HttpServlet
{
public void doPost(HttpServletRequest req, HttpServletResponse res)
{
sendFeedback(req, res);
}
private void sendFeedback(HttpServletRequest req, HttpServletResponse res)
{
String from = null, sub = null, msg = null;
String host = "smtp.gmail.com", username = "abc@gmail.com", password = "password";
Session session = null;
MimeMessage email = null;
Transport transport = null;
sub = req.getParameter("subject");
from = req.getParameter("sender");
msg = req.getParameter("message");
msg = "From: " + from + "\n" + msg;
Properties props = System.getProperties();
props.setProperty("mail.transport.protocol", "smtp");
props.setProperty("mail.host", host);
props.put("mail.smtp.user", username);
props.put("mail.smtp.password", password);
props.put("mail.smtp.port", "465");
props.put("mail.smtp.auth", "true");
props.put("mail.debug", "true");
props.put("mail.smtp.socketFactory.port", "465");
props.put("mail.smtp.socketFactory.class","javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.socketFactory.fallback", "false");
session = Session.getDefaultInstance(props, new javax.mail.Authenticator(){ protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication("abc@gmail.com", "password");}});
session.setDebug(true);
email = new MimeMessage(session);
try
{
email.setSender(new InternetAddress(username));
email.setRecipients(Message.RecipientType.TO, InternetAddress.parse("abc@gmail.com"));
email.setSubject(sub);
email.setContent(msg, "text/plain");
}
catch (AddressException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (MessagingException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
try
{
Transport.send(email);
}
catch (NoSuchProviderException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (MessagingException e)
{
e.printStackTrace();
}
}
}