我在Java中使用Google App Engine的表单中使用了忘记密码选项。 jsp程序包含如下代码:
<input type="text" size=18 name="emailcheck">
<input type="submit" value="Submit">
如何验证电子邮件地址并向该经过验证的电子邮件发送重置电子邮件链接? Oracle提供的普通Java Mail API,Java Mail API是否适用于Google App Engine,或者我需要为Google App Engine编写一些特定的代码?
答案 0 :(得分:4)
App Engine有自己的Java Mail API。
答案 1 :(得分:2)
我正在共享一个链接,您可以通过该链接在GAE中配置电子邮件服务。
https://developers.google.com/appengine/docs/java/mail/usingjavamail
您需要在构建路径中使用javax.mail jar来配置它。
并确保使用您的管理员电子邮件发送电子邮件,您正在使用该电子邮件部署您的应用程序。这只能在服务器上部署一次。
发送电子邮件的代码
import java.io.UnsupportedEncodingException;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class SendMail {
public void sendMail(String sendEmailFrom,String sendMailTo,String recipientName,String messageSubject,String messageText){
Properties prop = new Properties();
Session session = Session.getDefaultInstance(prop,null);
try{
Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(sendEmailFrom));
msg.addRecipient(Message.RecipientType.TO, new InternetAddress(sendMailTo, "Mr./Ms. "+recipientName));
msg.setSubject(messageSubject);
msg.setText(messageText);
Transport.send(msg);
System.out.println("Successfull Delivery.");
} catch (AddressException e) {
e.printStackTrace();
} catch (MessagingException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
答案 2 :(得分:0)
如果您只需发送\接收电子邮件,则可以使用IMAP访问Google邮件。在这种情况下,普通的Java Mail API就可以了。
如果您打算更好地使用某些特殊功能Google Java Mail API。它使用与普通Jva Mail API相同的界面。所以你只需要添加谷歌jar(别忘了排除oracle的邮箱)。
答案 3 :(得分:0)
我也有另一种方式。希望这个链接对其他人有用
http://www.vogella.com/blog/2011/02/03/google-app-engine-sending-emails/