Java 发送带有EditText的电子邮件按钮(无需打开电子邮件客户端)

Java 发送带有EditText的电子邮件按钮(无需打开电子邮件客户端),java,android,Java,Android,我试图在Android Studio中制作一个按钮,将所有信息放入EditText字段,然后将其作为电子邮件发送 我让发送电子邮件的部分工作,只是没有按钮做我想做的事 我创建了一个sendmail类,并添加了一个构造函数,该构造函数接受两个字符串值,我希望将其作为电子邮件发送。我不知道如何将这个类与包含参数的按钮集成 这就是我现在拥有的: Button sendEmail = findViewById(R.id.button); sendEmail.setOnClickListe

我试图在Android Studio中制作一个按钮,将所有信息放入
EditText
字段,然后将其作为电子邮件发送

我让发送电子邮件的部分工作,只是没有按钮做我想做的事

我创建了一个
sendmail
类,并添加了一个构造函数,该构造函数接受两个字符串值,我希望将其作为电子邮件发送。我不知道如何将这个类与包含参数的按钮集成

这就是我现在拥有的:

    Button sendEmail = findViewById(R.id.button);
    sendEmail.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            EditText test = (EditText) findViewById(R.id.editText);
            String testText = test.getText().toString();
            String textBody = "This is a test.";

        }
    });
我不知道接下来该怎么办。有没有更好的方法来做我想做的事

编辑:我希望java发送电子邮件,而不是打开电子邮件应用程序,让用户手动发送电子邮件。我的电子邮件类别如下:

import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;

public class SendEmail {

    public static void main(String [] args) {
        // Recipient's email ID needs to be mentioned.
        String to = "test@gmail.com";

        // Sender's email ID needs to be mentioned
        String from = "***@gmail.com";


        // Get system properties
        Properties properties = System.getProperties();
        properties.put("mail.smtp.auth", "true");
        properties.put("mail.smtp.starttls.enable", "true" );
        properties.put("mail.smtp.host", "smtp.gmail.com");
        properties.put("mail.smtp.port", 587);

        Session session = Session.getDefaultInstance(properties, new javax.mail.Authenticator() {
            protected PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(from, "***");
            }
        });


        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("Subject Line test");

            message.setText("This is a test for body of the e-mail.");
            Transport.send(message);
            System.out.println("Send message successfully");
        } catch (MessagingException mex) {
            mex.printStackTrace();
        }
    }
}
此代码允许我发送电子邮件,而无需打开电子邮件客户端。我正在尝试找出如何将此代码与我的按钮相结合。
此外,此SendEmail代码是我在没有前面提到的构造函数的情况下为测试而编写的代码。

试试这个,希望它能工作-

Button sendEmail = findViewById(R.id.button);
sendEmail.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        EditText test = (EditText) findViewById(R.id.editText);
        String subject = test.getText().toString();
        String textBody = "This is a test.";

        Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(
                                   "mailto","email@email.com", null));
        intent.putExtra(Intent.EXTRA_SUBJECT, subject);
        intent.putExtra(Intent.EXTRA_TEXT, textBody);
        startActivity(Intent.createChooser(intent, "Choose an Email client :"));
    }
});

你能分享SendEmail类吗?这个问题在这里已经有了答案:[重复]可能是我添加的SendEmail类的重复。已回答的问题代码将打开一个电子邮件客户端,用户必须在其中手动发送电子邮件。我希望这样,当用户按下按钮时,EditText字段中的所有信息都会自动发送到设置的电子邮件地址。如果使用已发布的用户,请将其保留在评论中。不需要写作为答案。作为参考。@Arbaz.in,我看到了这个问题并粘贴了我的代码作为我使用的答案,没有看到任何已经发布的答案。但是为了将来的发展…。@Arbaz.in,谢谢你的建议,但是,我无法对这个问题发表评论。