2016-09-27 6 views
1

私は私達に連絡するためのモジュールを作成しました。ここで1人のユーザは自分の懸念に関するメールをadminに送信でき、管理者はその特定のユーザに返信メールを送ることができます。だから私は2つの異なるメールテンプレートを作成しましたが、私は同時に両方を送信する方法がわかりません。2つの電子メールをJavaの2つの異なる電子メールアドレスにどのように送信しますか?

私はユーザーに返信メールを送信しましたが、管理者にメールを送信していません。

ユーザーに返信メールを送信するための私のコード:

package com.spring.test.service; 

import java.io.IOException; 
import java.util.Properties; 

import javax.mail.internet.InternetAddress; 

import org.json.JSONObject; 
import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.beans.factory.annotation.Qualifier; 
import org.springframework.mail.MailSender; 
import org.springframework.mail.SimpleMailMessage; 
import org.springframework.mail.javamail.JavaMailSenderImpl; 
import org.springframework.web.client.RestTemplate; 

public class MailMail { 

    private MailSender mailSender; 

    @Autowired 
    @Qualifier(value = "mailSender") 
    public void setMailSender(MailSender mailSender) { 
     this.mailSender = mailSender; 
    } 

    public void sendMail(String to, String subject, String msg) { 
     //creating message 

     System.out.println("mailsender == " + this.mailSender); 

     try { 
      String from = "emailFromAddress"; 

      JavaMailSenderImpl sender = new JavaMailSenderImpl(); 
      javax.mail.internet.MimeMessage mimeMessage = sender.createMimeMessage(); 
      org.springframework.mail.javamail.MimeMessageHelper helper = new org.springframework.mail.javamail.MimeMessageHelper(mimeMessage, false, "utf-8"); 
      mimeMessage.setContent(msg, "text/html"); 
      helper.setSubject(subject); 
      helper.setFrom(from); 
      helper.setTo(to); 

      sender.setHost("smtp.gmail.com"); 
      sender.setUsername("emailServerUserName"); 
      sender.setPassword("emailServerPassword"); 
      sender.setPort(587); 

      Properties props = new Properties(); 
      props.put("mail.smtp.auth",true); 
      props.put("mail.smtp.starttls.enable","true"); 

      sender.setJavaMailProperties(props); 
      sender.send(mimeMessage); 
     } catch(Exception e){ 
      e.printStackTrace(); 
     } 
    } 
} 

は誰がどのようにも時に管理者ユーザーにメールを送信するために教えてもらえますか?

+0

で様々なメールを送信するために呼び出すことができ、完全なステートレスサービスとなり、あなたの電子メールのプロセスを非同期に行い、並列にメール処理の両方をトリガすることを意図していますか? – mhasan

+0

いいえ、非同期ではなく、2つの異なるテンプレートで両方の電子メール処理を並行して起動する必要があります。 –

答えて

1

sendMailの実装は、電子メールアドレス、電子メールアドレス、件名、電子メールテンプレートパス、プレースホルダプロパティを持つデータなどの外部パラメータから完全に駆動する必要があります。上記のパラメータのどれも、このメソッドで初期化、宣言、または操作されないことを意味します。これでおそらく

は、あなたのsendmailがあなたが異なるパラメータ

+0

はい、私のsendMailの実装は、外部化されたパラメータから完全に駆動されるべきですが、どのようにして返信メールをユーザーに送信し、同時に管理者ユーザーに別のメッセージテンプレートも送信できますか?ここではこのメソッドを2回呼び出します。 –

+0

2つの異なるイベントについて、あなたのコードに異なるエントリーポイントがあると仮定しています – mhasan

+0

2つの異なるイベントがありますので、ここでは2つの電子メールテンプレートで2回呼び出すsendMailメソッドですが、このメソッドを1回呼び出す方法はありますか? –

関連する問題