0
我正嘗試在JSP中使用java郵件發送反饋電子郵件。我的代碼是使用jsp使用java郵件發送反饋郵件
<%@ page import = "java.io.*,java.util.*,javax.mail.*"%>
<%@ page import = "javax.mail.internet.*,javax.activation.*"%>
<%@ page import = "javax.servlet.http.*,javax.servlet.*" %>
<%
String result;
String to = "[email protected]";
String from = "[email protected]";
String host = "smtp.gmail.com";
Properties properties = System.getProperties();
properties.setProperty("mail.smtp.host", host);
Session mailSession = Session.getDefaultInstance(properties);
try {
MimeMessage message = new MimeMessage(mailSession);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));
message.setSubject("subject");
message.setText("message to send");
Transport.send(message);
result = "Sent message successfully....";
}
catch (MessagingException mex) {
mex.printStackTrace();
result = "Error: unable to send message....";
}
%>
<html>
<head>
<title>Send Email using JSP</title>
</head>
<body>
<center>
<h1>Send Email using JSP</h1>
</center>
<p align = "center">
<%
out.println("Result: " + result + "\n");
%>
</p>
</body>
</html>
但它始終顯示錯誤:無法發送消息...... 是否存在與代碼的任何問題....? 我試圖打印錯誤消息,它顯示驗證錯誤,無法發送像這樣。 由於這是一封反饋電子郵件,我不希望用戶提供他/她的密碼來發送電子郵件,請提供更好的解決方案(我已將mail.jar和activation.jar包含在庫文件夾中)。
哦對不起,我忘了提及我使用我自己的憑據。我在這裏分享之前就改變了他們。 – vinay
我認爲你讓收件人與憑證混淆。您需要登錄到您的郵件服務器。使用[帶有用戶名和密碼的Transport.send方法](https://javaee.github.io/javamail/docs/api/javax/mail/Transport.html#send-javax.mail.Message-java.lang .String-java.lang.String-)。如果這不起作用,請發佈[JavaMail調試輸出](https://javaee.github.io/javamail/FAQ#debug)。您還應該修復這些[常見錯誤](https://javaee.github.io/javamail/FAQ#commonmistakes)。 –
非常感謝,先生。我發送了一封成功的電子郵件。但我不希望它是這樣。當用戶發送反饋電子郵件時,他只指定他的電子郵件ID,任何地方都不會詢問密碼。我正在嘗試做同樣的事情。是的,當我給密碼發送電子郵件,但沒有網站或應用程序要求發件人的密碼。我如何在不給發件人密碼的情況下做到這一點。 – vinay