Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 类型部分中的方法setText(字符串)不适用于参数_Java_String_Methods_Settext - Fatal编程技术网

Java 类型部分中的方法setText(字符串)不适用于参数

Java 类型部分中的方法setText(字符串)不适用于参数,java,string,methods,settext,Java,String,Methods,Settext,我必须开发一个java应用程序 这里我得到了以下错误: 类型部分中的方法setText(String)不适用于参数(String,String) 在这里,我必须通过settext将retrievedUserName、retrievedPassword发送到我的邮件。 如何在settext方法中调用上述2个字符串值。请帮助我。我的代码中有什么错误 这是我的代码: public class SendMail { public String authentication(Str

我必须开发一个java应用程序

这里我得到了以下错误:

类型部分中的方法setText(String)不适用于参数(String,String)

在这里,我必须通过settext将retrievedUserName、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");

            } 

尝试指定字符集。我也使用setContent,但我想setxt也会以同样的方式工作。尝试用以下内容替换setText调用:

 message.setContent("Dear Friends This is your product name and price "+
                     retrievedPassword+retrievedUserName, "text/html; charset=utf-8");

没问题,很乐意帮忙。如果你不介意投票表决我的答案,我将非常感激。谢谢你的接受!使用setContent()时“\n”无效。我需要fistline retrievedPassword,需要第二行retrievedUserName。因此我使用了下面的代码。但它对我不起作用。message.setContent(“这是您的产品名”+retrievedPassword+“\n这是您的价格”+retrievedUserName,“text/html;charset=utf-8”);嗨,danL,我引入了“

”而不是“\n”,它正在工作。我想知道您是否有更好的解决方案。它使用html,因此将\n替换为
编辑:使用简写标记将节省空间,因此只需使用
即可。如果你对我的答案投赞成票,我将不胜感激。只需单击我答案旁边的“^”按钮。我需要尽我所能获得所有的声誉!谢谢