【发布时间】:2018-09-06 08:52:10
【问题描述】:
我正在尝试在 Android Studio 中创建一个按钮,它将所有信息放入 EditText 字段中,然后将其作为电子邮件发送。
我得到了发送电子邮件的部分工作,只是没有按钮来做我想做的事。
我创建了一个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 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 代码是我在没有前面提到的构造函数的情况下为测试而制作的。
【问题讨论】:
-
能分享一下 SendEmail 类吗
-
这个问题在这里已经有了答案:Link [重复]
-
我添加了 SendEmail 类。已经回答的问题代码打开了一个电子邮件客户端,用户必须在其中手动发送电子邮件。我希望这样当用户按下按钮时,EditText 字段中的所有信息都会自动发送到设置的电子邮件地址。