【问题标题】:How to send Email from android application without installed an email application如何在不安装电子邮件应用程序的情况下从 android 应用程序发送电子邮件
【发布时间】:2014-10-10 04:41:50
【问题描述】:

我有疑问。我有一个电子邮件应用程序,但是当我按下发送按钮时,我必须至少安装一个电子邮件应用程序。代码:

Java 文件:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_my);

    final EditText adress = (EditText) findViewById(R.id.adress);
    final EditText subject = (EditText) findViewById(R.id.subject);
    final EditText message = (EditText) findViewById(R.id.message);
    ImageButton send = (ImageButton) findViewById(R.id.send);

    send.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            Intent i = new Intent(Intent.ACTION_SEND);
            i.setType("message/rfc822");
            i.putExtra(Intent.EXTRA_EMAIL  , adress.getText().toString());
            i.putExtra(Intent.EXTRA_SUBJECT, subject.getText().toString());
            i.putExtra(Intent.EXTRA_TEXT   , message.getText().toString());
            try {
                startActivity(Intent.createChooser(i, "Send mail..."));
            } catch (android.content.ActivityNotFoundException ex) {
                Toast.makeText(MyActivity.this, "There are no email clients installed.", Toast.LENGTH_SHORT).show();
            }

            AlertDialog.Builder builder = new AlertDialog.Builder(MyActivity.this);
                builder.setIcon(R.drawable.ic_launcher);
                builder.setTitle("Mail");
                builder.setMessage("Mail send sucessfully.");
                builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        Toast.makeText(MyActivity.this,"Finish.",Toast.LENGTH_SHORT);
                        adress.setText("");
                        subject.setText("");
                        message.setText("");
                    }
                });
        }
    });
}

请帮帮我。

【问题讨论】:

  • 为什么不对 SMTP 服务器进行身份验证并从那里发送?

标签: java android email send


【解决方案1】:

如果用户没有在手机上安装电子邮件应用程序,您可以将用户带到PlayStore 并要求他下载他们选择的电子邮件应用程序(或您推荐的)。

另一种选择是拥有自己的 SMTP 服务器,您可以使用它发送电子邮件。

【讨论】:

    猜你喜欢
    • 2021-05-19
    • 1970-01-01
    • 2011-08-06
    • 1970-01-01
    • 2010-12-20
    • 2012-02-04
    • 1970-01-01
    相关资源
    最近更新 更多