Как отправить почту на любой почтовый идентификатор из почтового идентификатора частного домена вместо gmail и outlook в Android, не используя никаких намерений - PullRequest
0 голосов
/ 15 апреля 2020

Мой почтовый идентификатор отправителя abcdefg@pqr.com, а электронный адрес получателя будет

любой ... так как это можно сделать в android, я видел и слишком много искал на net, но не нашел правильного пути, люди говорят, что используют Intent и все ... поэтому, пожалуйста, дайте мне правильный путь, чтобы добраться до пункта назначения при отправке почты приложением android.

мне это нравится, но выдается ошибка com.sun.mail.util.MailConnectException: не удается подключиться к хосту, порт: smtp. и т. Д.

Это мой код что я попробовал.

import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.os.Bundle;
import android.widget.Toast;

import java.io.File;
import java.util.Properties;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;

public class MainActivity extends BaseActivity {

    private static final String username = "info@fdggdfg.com";
    private static final String password = "asdf@";
    private static final String emailid = "info@fdggdfg.com";
    private static final String message = "Hello this is testing mail";
    public String jobNo;
    public String teamNo;
    public File mediaFile;
    private Multipart multipart = new MimeMultipart();
    private MimeBodyPart messageBodyPart = new MimeBodyPart();

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


        AsyncTaskRunner runner = new AsyncTaskRunner();
        runner.execute("hardik");


    }


    private class AsyncTaskRunner extends AsyncTask<String, String, String> {

        ProgressDialog progressDialog;
        private String resp;

        @Override
        protected String doInBackground(String... params) {

            Properties props = new Properties();
            props.put("mail.smtp.auth", "true");
            props.put("mail.smtp.starttls.enable", "true");
            props.put("mail.smtp.host", "smtp.fdggdfg.com");
            props.put("mail.smtp.port", "465");

            Session session = Session.getInstance(props,
                    new javax.mail.Authenticator() {
                        protected PasswordAuthentication getPasswordAuthentication() {
                            return new PasswordAuthentication(username, password);
                        }
                    });
            try {
                Message message = new MimeMessage(session);
                message.setFrom(new InternetAddress("info@fdggdfg.com"));
                message.setRecipients(Message.RecipientType.TO,
                        InternetAddress.parse("gfdg@gmail.com"));
                message.setSubject("Testing Subject");
                message.setText("Dear Mail Hardik,"
                        + "\n\n No spam to my email, please!");
                Multipart multipart = new MimeMultipart();

                message.setContent(multipart);

                Transport.send(message);

                System.out.println("Done");

            } catch (MessagingException e) {
                throw new RuntimeException(e);
            }
            String result ;
            return result= "done";

        }


        @Override
        protected void onPostExecute(String result) {
            // execution of result of Long time consuming operation
            progressDialog.dismiss();
            // finalResult.setText(result);
            Toast.makeText(MainActivity.this,result,Toast.LENGTH_LONG).show();
        }


        @Override
        protected void onPreExecute() {
            progressDialog = ProgressDialog.show(MainActivity.this, "mail", "bhai chalu");
        }


        @Override
        protected void onProgressUpdate(String... text) {
            //  finalResult.setText(text[0]);

        }
    }
}
...