gpt4 book ai didi

android - 从最近的 Android 以编程方式发送电子邮件

转载 作者:行者123 更新时间:2023-11-30 03:36:41 25 4
gpt4 key购买 nike

我读过 question链接在这里。我已经尝试过这种方法来以编程方式发送电子邮件,例如,当用户按下按钮时。

它确实适用于 2.3.7 版本的 Android。

问题是当尝试在较新版本的 Android(如 4.1.2)上启动应用程序时,它没有任何反应。在这些设备上出现 toast,但未发送电子邮件。

所以,我尝试了这段代码,但它也不起作用。

...
sendButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {

//Read EditText
EditText text = (EditText)findViewById(R.id.editText1);
String my_mail = text.getText().toString().toLowerCase();

if (my_mail.matches("")){
Toast toast = Toast.makeText(context, "Please insert a valid email address!", Toast.LENGTH_LONG);
toast.show();
}

//send mail
try {
WebSendMail(my_mail);

Toast toast = Toast.makeText(context, "Email sent!", Toast.LENGTH_LONG);
toast.show();
} catch (Exception e) {
Log.e("SendMail", e.getMessage(), e);
}

}
});

public static boolean WebSendMail(String mail){

//email sender parameter
String smtpHost = "smtp.gmail.com";
String addressFrom = "account@gmail.com";
String login = addressFrom;
String password = "password";
String subject = "Subject!";

String message = "html code";

try {
Properties props = new Properties();
props.setProperty("mail.host", smtpHost);
props.setProperty("mail.smtp.port", "587");
props.setProperty("mail.smtp.auth", "true");
props.setProperty("mail.smtp.starttls.enable", "true");

Authenticator auth = new SMTPAuthenticator(login, password);

Session session = Session.getInstance(props, auth);

MimeMessage msg = new MimeMessage(session);
msg.setText(message);
msg.setSubject(subject);
msg.setContent(message, "text/html");
msg.setFrom(new InternetAddress(addressFrom));
msg.addRecipient(Message.RecipientType.TO, new InternetAddress(mail));
Transport.send(msg);
return true;

} catch (Exception ex) {
return false;
}

}

有什么帮助吗?

最佳答案

你可能会发现这个错误

android.os.NetworkOnMainThreadException

查看此 http://www.androiddesignpatterns.com/2012/06/app-force-close-honeycomb-ics.html

并使用这个http://developer.android.com/reference/android/os/AsyncTask.html

关于android - 从最近的 Android 以编程方式发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16569343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com