使用javamail api在android中向mail发送多个产品详细信息

使用javamail api在android中向mail发送多个产品详细信息,java,android,jakarta-mail,sendmail,Java,Android,Jakarta Mail,Sendmail,我必须开发一个android示例 使用javamail api从我的android应用程序向邮件发送多个项目详细信息 在这里,我必须运行应用程序意味着仅最新添加的产品发送到邮件。但我必须将所有添加的产品详细信息发送到电子邮件。我该怎么办。请帮助我。我的代码中有什么错误。请检查代码并给我这些问题的解决方案 我使用了以下代码: public class InvoiceOrder extends Activity { String mGrandTotal; @Override protecte

我必须开发一个android示例

使用javamail api从我的android应用程序向邮件发送多个项目详细信息

在这里,我必须运行应用程序意味着仅最新添加的产品发送到邮件。但我必须将所有添加的产品详细信息发送到电子邮件。我该怎么办。请帮助我。我的代码中有什么错误。请检查代码并给我这些问题的解决方案

我使用了以下代码:

 public class InvoiceOrder extends Activity {


String mGrandTotal;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub  
    super.onCreate(savedInstanceState);
    setContentView(R.layout.invoice);
    ListView mLstView1 = (ListView) findViewById(R.id.listView1);


    CustomerAdapter mViewCartAdpt = new CustomerAdapter(
            InvoiceOrder.this);
    mLstView1.setAdapter(mViewCartAdpt);

            Button login = (Button) findViewById(R.id.mBtnSubmit);
            login.setOnClickListener(new View.OnClickListener() {

        public void onClick(View arg0) {
            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() {
                        return new PasswordAuthentication("krishnaveniv96@gmail.com","xxxxxx");
                    }
                });

            try {

                Message message = new MimeMessage(session);
                message.setFrom(new InternetAddress("krishnaveni.veeman@gmail.com"));
                message.setRecipients(Message.RecipientType.TO,
                        InternetAddress.parse("mercy.krishnaveni@gmail.com"));
                message.setSubject("Testing Subject");
                StringBuilder sb = new StringBuilder();                  
              //  message.setContent("This is your product name : "+
                    //    "Hi Krishna" +"<br></br>This is your price : "+ "Hi veni", "text/html; charset=utf-8");
                for (int i = 0; i < Constants.mItem_Detail
                        .size(); i++) {

                    String title = Constants.mItem_Detail
                            .get(i).get(
                                    SingleMenuItem.KEY_PNAME);

                    String qty = Constants.mItem_Detail.get(i)
                            .get(SingleMenuItem.KEY_QTY);

                    String cost = Constants.mItem_Detail.get(i)
                            .get(SingleMenuItem.KEY_PRICE);

                    String total = Constants.mItem_Detail
                            .get(i).get(
                                    SingleMenuItem.KEY_TOTAL);

                message.setContent("<tr>" + "<td>" + title
                            + "</td><td>" + qty + " * " + cost
                            + "</td>" + " = <td>" + total
                            + "  " + "</td></tr>", "text/html; charset=utf-8"); 

                }

                Transport.send(message);

                System.out.println("Done");

            } catch (MessagingException e) {
                throw new RuntimeException(e);
            }
           }



  });
公共类InvoiceOrder扩展活动{
字符串mGrandTotal;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
//TODO自动生成的方法存根
super.onCreate(savedInstanceState);
setContentView(R.layout.invoice);
ListView mLstView1=(ListView)findViewById(R.id.listView1);
CustomerAdapter mViewCartAdpt=新CustomerAdapter(
发票订单;
mLstView1.setAdapter(mViewCartAdpt);
按钮登录=(按钮)findviewbyd(R.id.mBtnSubmit);
login.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图arg0){
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,
新的javax.mail.Authenticator(){
受保护的密码身份验证getPasswordAuthentication(){
返回新密码身份验证(“krishnaveniv96@gmail.com“,”xxxxxx“;
}
});
试一试{
Message Message=新的mimessage(会话);
message.setFrom(新的Internet地址(“krishnaveni。veeman@gmail.com"));
message.setRecipients(message.RecipientType.TO,
InternetAddress.parse(“mercy”。krishnaveni@gmail.com"));
message.setSubject(“测试主体”);
StringBuilder sb=新的StringBuilder();
//message.setContent(“这是您的产品名称:”+
//“嗨,奎师那”+“

这是你的价格:“+”嗨,维尼”,“text/html;charset=utf-8”); 对于(int i=0;i
编辑

                try {

                Message message = new MimeMessage(session);
                message.setFrom(new InternetAddress("krishnaveni.veeman@mercuryminds.com"));
                message.setRecipients(Message.RecipientType.TO,
                        InternetAddress.parse("mercy.krishnaveni@gmail.com"));
                message.setSubject("Testing Subject");
                //StringBuilder sb = new StringBuilder();     
                StringBuilder body = new StringBuilder();

                body.append("<html><body><table>");


              //  message.setContent("This is your product name : "+
                    //    "Hi Krishna" +"<br></br>This is your price : "+ "Hi veni", "text/html; charset=utf-8");
                for (int i = 0; i < Constants.mItem_Detail
                        .size(); i++) {

                    String title = Constants.mItem_Detail
                            .get(i).get(
                                    SingleMenuItem.KEY_PNAME);

                    String qty = Constants.mItem_Detail.get(i)
                            .get(SingleMenuItem.KEY_QTY);

                    String cost = Constants.mItem_Detail.get(i)
                            .get(SingleMenuItem.KEY_PRICE);

                    String total = Constants.mItem_Detail
                            .get(i).get(
                                    SingleMenuItem.KEY_TOTAL);

                    body.append("<tr>" + "<td>" + title
                            + "</td><td>" + qty + " * " + cost
                            + "</td>" + " = <td>" + total
                            + "  " + "</td></tr>");
                }

                body.append("<tr>" + "<td>" + "Grand Total is:-  "
                        + "</td><td>" + mGrandTotal + " "
                        + "</td></tr>");
                body.append("</table></body></html>");
            message.setContent(body);
             Transport.send(message);                   
        System.out.println("Done");

            } catch (MessagingException e) {
                throw new RuntimeException(e);
            }
           }
试试看{
Message Message=新的mimessage(会话);
message.setFrom(新的Internet地址(“krishnaveni。veeman@mercuryminds.com"));
message.setRecipients(message.RecipientType.TO,
InternetAddress.parse(“mercy”。krishnaveni@gmail.com"));
message.setSubject(“测试主体”);
//StringBuilder sb=新的StringBuilder();
StringBuilder主体=新的StringBuilder();
正文.附加(“”);
//message.setContent(“这是您的产品名称:”+
//“嗨,奎师那”+“

这是你的价格:“+”嗨,维尼”,“text/html;charset=utf-8”); 对于(int i=0;i
我已经更改了上面的代码。这里我必须得到以下错误:

类型部分中的方法setContent(Multipart)不适用于参数(StringBuilder)

在这些行message.setContent(body)

如何清除这些错误。请帮助我。如何从我的android应用程序将多个产品详细信息发送到邮件