1

1 つの Java アプリケーションを開発する必要があります。

ここで私は以下のエラーを得ました:

Part 型のメソッド setText(String) は、引数 (String、String) には適用されません。

ここで、settext を介して、retrivedUserName,retrievedPassword をメールに送信する必要があります。settext メソッドで上記の 2 つの文字列値を呼び出すにはどうすればよいですか。コードで何が間違っているのか教えてください。

これは私のコードです:

      public class SendMail {
      public String authentication(String Product,String Cost){
      String retrievedUserName = "";
      String retrievedPassword = "";
      String retrievedEmail = "";
      String status = "";
      try{
      Class.forName("com.mysql.jdbc.Driver");
      Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/xcart-432pro","root","");

      PreparedStatement statement =  con.prepareStatement("SELECT xcart_products.product,xcart_products.list_price,xcart_customers.email FROM xcart_products,xcart_customers WHERE product = '"+Product+"'");
      ResultSet result = statement.executeQuery();
      while(result.next()){
       retrievedUserName = result.getString("list_price");
       retrievedPassword = result.getString("product");
       retrievedEmail = result.getString("email");
            }
          if(retrievedPassword.equals(Product)){
       status = "The product name is send to your email";
        Properties props = new Properties();
          props.put("mail.smtp.host", "smtp.gmail.com");
         props.put("mail.smtp.socketFactory.port", "465");
        props.put("mail.smtp.socketFactory.class",
        "javax.net.ssl.SSLSocketFactory");
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.port", "465");

          Session session = Session.getDefaultInstance(props,
                  new javax.mail.Authenticator() {
                protected PasswordAuthentication getPasswordAuthentication() {
                        new PasswordAuthentication("xxxxx@gmail.com","4242vfgDF!");
                        }
                    });
                   try {

            Message message = new MimeMessage(session);
             message.setFrom(new InternetAddress("krishnaveni.veeman@gmail.com"));
         message.setRecipients(Message.RecipientType.TO,
                    InternetAddress.parse("demo@gamil.com"));
            message.setSubject("Testing Subject");
            message.setText("Dear Friends This is your product name and price"+
                    retrievedPassword,retrievedUserName);

        Transport.send(message);

            System.out.println("Done");

            } 
4

1 に答える 1

0

文字セットを指定してみてください。私も setContent を使用していますが、setText も同じように機能すると思います。setText 呼び出しを次のように置き換えてみてください。

 message.setContent("Dear Friends This is your product name and price "+
                     retrievedPassword+retrievedUserName, "text/html; charset=utf-8");
于 2012-12-29T05:00:26.890 に答える