在Android应用程序上发送电子邮

时间:2012-08-02 12:50:15

标签: android sendmail

我目前正在开发一个Android应用程序,其中有一个“提问表”,用户输入问题并将其发送到预定的电子邮件地址。我想知道如何允许应用程序捕获用户输入的内容并使用按钮将输入直接发送到预先确定的电子邮件,无需将用户带到电子邮件应用程序页面,或捕获所有用户输入并将其发送到内置的电子邮件意图。我看到很多与我的问题有关的问题,但我只想确认一下,如果我按照Sending Email in Android using JavaMail API without using the default/built-in app

进行操作

回答,是否允许我捕获用户输入并将其发送到预先确定的电子邮件地址?

以下是我试过的代码

public void onClick(View v) {
    // TODO Auto-generated method stub
    convertEditTextVarsIntoStringsAndYesThisIsAMethodWeCreated();
    String[] to = {"someone@hotmail.co.uk"};

    String message[] = {name} ;
    String message2 [] = {mobile} ;
    String message3 [] = {email2} ;
    String message4 [] = {question} ;


    Intent Emailintent = new Intent(android.content.Intent.ACTION_SEND) ;
    Emailintent.putExtra(android.content.Intent.EXTRA_EMAIL, to);

    Emailintent.setType("plain/text");
    Emailintent.putExtra(android.content.Intent.EXTRA_TEXT, message);
    Emailintent.putExtra(android.content.Intent.EXTRA_TEXT, message2);
    Emailintent.putExtra(android.content.Intent.EXTRA_TEXT, message3);
    Emailintent.putExtra(android.content.Intent.EXTRA_TEXT, message4);
    startActivity(Emailintent);
}
private void convertEditTextVarsIntoStringsAndYesThisIsAMethodWeCreated() {
    // TODO Auto-generated method stub
    email2= youremail.getText().toString();
    mobile = yourmobile.getText().toString();
    name = yourname.getText().toString();
    question = yourquestion.getText().toString();


}

3 个答案:

答案 0 :(得分:1)

尝试这样做:

EditText ed=(EditText) findViewById(R.id.edittext1);

当用户编辑编辑文本时,他按下一个按钮:

button.setOnClickListener(this);

实现onclick侦听器并添加未实现的方法,并在onclicklistener中执行以下操作:

String emailaddress="someone@yahoo.com";
String subject="Subject";
String message=ed.getText().toString();
Intent email = new Intent(android.content.Intent.ACTION_SEND);
email.putExtra(android.content.Intent.EXTRA_EMAIL, emailaddress);
email.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);
email.setType("plain/text");
email.putExtra(android.content.Intent.EXTRA_TEXT, message);
startActivity(email);

答案 1 :(得分:1)

试试这个, 我认为这是您的期望,它会将所有细节发布到您的电子邮箱中,

第1步:

在发送电子邮件之前,请先致电convertEditTextVarsIntoStringsAndYesThisIsAMethodWeCreated()

(或)

第2步: 使用此代码

在OnClick方法

        convertEditTextVarsIntoStringsAndYesThisIsAMethodWeCreated();

        String body = "Name:"+ name+"\n Mobile"+ mobile+"\n Emailto"+email2+"\nQuestion"+ question;
        Intent emailtosend = new Intent(Intent.ACTION_SEND);
        emailtosend.putExtra(Intent.EXTRA_EMAIL, new String[]{ to}); 
        emailtosend.putExtra(Intent.EXTRA_TEXT, body);

        //need this to prompts email client only
        emailtosend.setType("message/rfc822"); 

        startActivity(Intent.createChooser(emailtosend, "Select email application"));    

希望有所帮助

答案 2 :(得分:1)

按照您提供的link中的步骤,它似乎有效。 请记住,代码中有硬编码的密码。