Отправка электронной почты через Котлин - PullRequest
0 голосов
/ 31 декабря 2018

Я использую приведенный ниже код для отправки электронной почты, но запрашиваю учетные данные Gmail.Я ищу какую-то команду, аналогичную mailx, которая должна отправлять электронную почту на определенный адрес, не спрашивая учетные данные.Любая помощь приветствуется.

Код

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val button: Button = findViewById(R.id.button)
        val editTextTo: EditText = findViewById(R.id.editTextTo)

        button.setOnClickListener(View.OnClickListener {
            val to = editTextTo.getText().toString()
            val subject = "Test"
            val message = "Test"

            val intent = Intent(Intent.ACTION_SEND)
            val addressees = arrayOf(to)
            intent.putExtra(Intent.EXTRA_EMAIL, addressees)
            intent.putExtra(Intent.EXTRA_SUBJECT, subject)
            intent.putExtra(Intent.EXTRA_TEXT, message)
            intent.setType("message/rfc822")
            startActivity(Intent.createChooser(intent, "Send Email using:"));
        })
    }
}

1 Ответ

0 голосов
/ 31 декабря 2018

Существует решение Java, попробуйте сделать свой котлин одним (извините, я не в Котлине).

Добавьте это в свой gradle

implementation 'com.sun.mail:android-mail:1.6.0'
implementation 'com.sun.mail:android-activation:1.6.0'

и добавьте эти два классы один для создания SMTP-сервера, а другой для целей безопасности и называется так:

GMailSender sender = new GMailSender(
                        "you_email@gmail.com",
                        "password");

sender.sendMail(subject, message,sender,recipients);
...