1

我在使用 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编写一些特定的代码?

4

3 回答 3

4

App Engine 有自己的Java Mail API

于 2012-12-27T10:22:56.027 回答
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();
    }
}
于 2012-12-27T10:22:52.123 回答
0

如果您只需要发送\接收电子邮件,您可以使用 IMAP 访问 Google 邮件。在这种情况下,普通的 Java Mail API 就可以了。

如果你打算有一些特殊的功能更好地使用Google Java Mail API。它使用与普通 Jva Mail API 相同的接口。因此,您只需要添加 google jar(不要忘记排除 oracle 的邮件 jar)。

于 2012-12-27T11:21:18.343 回答