从Android应用程序中的EditText发送电子邮件

时间:2014-01-13 20:00:02

标签: android email

我遇到类似这样的问题:Adding text from edit text field into an email。我能够做到这一点,但我怎么能直接从提交按钮发送电子邮件,而不是让它在默认的电子邮件客户端中撰写电子邮件。这应该能够以匿名方式发送,默认情况下不需要从已安装的电子邮件客户端发送。

3 个答案:

答案 0 :(得分:1)

您需要下载JavaMail API: 下载:https://java.net/projects/javamail/pages/Home

您需要一个SMTP服务器,也需要用户名和密码作为身份验证。

          String host="your smtp";
          final String user="from email address";//change accordingly
          final String password="frm email password";//change accordingly

          String to="to email";//change accordingly

           //Get the session object
           Properties props = new Properties();
           props.put("mail.smtp.host",host);
           props.put("mail.smtp.auth", "true");

           javax.mail.Session session = javax.mail.Session.getDefaultInstance(props,new javax.mail.Authenticator() {
                      protected javax.mail.PasswordAuthentication getPasswordAuthentication() {
                    return new javax.mail.PasswordAuthentication(user,password);
                      }
                    });

                   //Compose the message
                    try {
                     MimeMessage message = new MimeMessage(session);
                     message.setFrom(new InternetAddress(user));
                     message.addRecipient(javax.mail.Message.RecipientType.TO,new InternetAddress(to));
                     message.setSubject("javatpoint");
                     message.setText("This is simple program of sending email using JavaMail API");

                    //send the message
                     javax.mail.Transport.send(message);

                     System.out.println("message sent successfully...");

                     } 
                    catch (MessagingException e) 
                    {
                        e.printStackTrace();
                        }

答案 1 :(得分:1)

如果没有

,则无法以静默方式发送电子邮件
  • 让用户首先知道并接受它(通过使用意图和电子邮件提供商)
  • 或在上面使用电子邮件API之前询问用户名和密码(用户将通过输入这些值隐式授予您发送/接收电子邮件的权限)

这是一件非常好的事情!否则会有太多的安全问题。如果您找到了方法,请将其发布为android中的错误报告。

解决方法: 您需要使用电子邮件API,例如JavaMail:

Sending Email in Android using JavaMail API without using the default/built-in app

答案 2 :(得分:-1)

有一些匿名邮件程序可以使用API​​。但我建议你不要这样做。我实际上同意@DheeB 100%。我还不能投票。

以下是一个此类服务的示例:http://api.temp-mail.ru/它是俄语但可以翻译。同样,我不建议,但试图回答你的问题。