2

登録フォームを持っています。送信後、別のJSPページに移動し、そのフォームのデータを取得してデータベースに保存します。次に、確認のために指定したユーザーIDにメールを送信します。Iそれについては何も知りません。コードを教えてください。これは私の登録フォームのアクションであり、コードを送信します。

<form action="signupdata.jsp" method="POST">
<input type="submit" onclick="" value="submit">

これはsignupdata.jspにあり、データベースにデータを保存します。

int i=st.executeUpdate("insert into userdetails(firstname,lastname,email,password,cpassword,category) values('"+fname+"','"+lname+"','"+emal+"','"+pwd+"','"+cpwd+"','"+ctgry+"')");

ここで、ほとんどのWebサイトが提供しているように、確認の電子メールをユーザーの電子メールIDに送信したいと思います。

4

2 に答える 2

2

問題の正確なコードはプロジェクトによって異なり、大きすぎてここに投稿できない場合があります。コードスニペットを探す代わりに、問題のドメインに適合する一般的なソリューション/ライブラリを求めてから、それに基づいたコードサンプルをグーグルで検索することをお勧めします。

この場合、を使用Java Mail APIしてメールを送信できます。Javaメールのコードサンプルをグーグルで検索してください。

Spring Frameworkを使用している場合JavaMailSenderImplは、メールを送信するための便利な方法が提供されます。

<bean id="mailSender" class="com.kshitiz.MailUtil"
    init-method="init" destroy-method="destroy">
    <constructor-arg index="0">
        <bean id="mailSenderMain" class="org.springframework.mail.javamail.JavaMailSenderImpl"
            p:host="${host}" p:port="${port}"
            p:username="${username}" p:password="${password}">
            <property name="javaMailProperties">
                <props>
                    <prop key="mail.debug">true</prop>
                    <prop key="mail.smtp.auth">true</prop>
                </props>
            </property>
        </bean>
    </constructor-arg>
</bean>

次にコードで-

public class MailUtil {
    private MailSender mailSender;

    public MailUtil(MailSender mailSender)
    {
        this.mailSender=mailSender;
    }
    public void sendResetPasswordMail(String email, String password) {
        SimpleMailMessage message = new SimpleMailMessage();
        message.setFrom("mymail@gmail.com");
        message.setTo(email);
        message.setSubject("Your new password!");
        message.setText("Here is your new account login password - " + password);
        mailSender.send(message);
    }
}

auth_token確認のために、user_accountsテーブルにフィールドを追加できます。このauth_tokenは、UUID登録時に生成されます。次に、パラメータを取得してデータベースに対して検証するサーブレットを作成します。このサーブレットへのリンクをメールで送信します。auth_token検証が成功した場合は、ユーザーを認証済みとしてマークするフィールドを消去します。

于 2013-02-07T04:11:31.777 に答える
2

firtPage.jspに以下のコードを記述します。

<form action="signupdata.jsp" method="POST">
Please enter email : <input type="text" name="email">
<input type="submit" onclick="" value="submit">
</form>

以下のコードをsignupdata.jspに記述します。

      // Recipient's email ID needs to be mentioned.
      String to = request.getParameter("email");

      // Sender's email ID needs to be mentioned
      String from = "SENDER_EMAIL";

      // Assuming you are sending email from localhost
      String host = "YOUR_EMAIL_HOST";

      // Get system properties
      Properties properties = System.getProperties();

      // Setup mail server
      properties.setProperty("mail.smtp.host", host);

      // Get the default Session object.
      Session session = Session.getDefaultInstance(properties);

      try{
         // Create a default MimeMessage object.
         MimeMessage message = new MimeMessage(session);

         // Set From: header field of the header.
         message.setFrom(new InternetAddress(from));

         // Set To: header field of the header.
         message.addRecipient(Message.RecipientType.TO,
                                  new InternetAddress(to));

         // Set Subject: header field
         message.setSubject("SUVJECT_LINE");

         // Now set the actual message
         message.setText("YOUR MESSAGE GOES HERE");

         // Send message
         Transport.send(message);
         System.out.println("Sent message successfully....");
      }catch (MessagingException mex) {
         mex.printStackTrace();
      }
   }
于 2013-02-07T04:20:46.513 に答える