Advertisement
Guest User

Untitled

a guest
May 26th, 2016
281
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.04 KB | None | 0 0
  1. Context mainContext;
  2.  
  3. String title;
  4. String text;
  5. String text1;
  6. String from;
  7. String where;
  8.  
  9. @Override
  10. public void onCreate(Bundle savedInstanceState) {
  11. super.onCreate(savedInstanceState);
  12. setContentView(R.layout.activity);
  13.  
  14. mainContext = this;
  15.  
  16. Button ibut = (Button) findViewById(R.id.button1);
  17. ibut.setOnClickListener(new OnClickListener() {
  18.  
  19. @Override
  20. public void onClick(View v) {
  21. sender_mail_async async_sending = new sender_mail_async();
  22. async_sending.execute();
  23. }
  24. });
  25. }
  26.  
  27. private class sender_mail_async extends AsyncTask<Object, String, Boolean> {
  28. ProgressDialog WaitingDialog;
  29.  
  30. @Override
  31. protected void onPreExecute() {
  32. WaitingDialog = ProgressDialog.show(ExtendedMail.this, "Отправляем письмо...", true);
  33. }
  34.  
  35. @Override
  36. protected void onPostExecute(Boolean result) {
  37. WaitingDialog.dismiss();
  38. Toast.makeText(mainContext, "Отправка завершена!!!", Toast.LENGTH_LONG).show();
  39. ((Activity)mainContext).finish();
  40. }
  41.  
  42. @Override
  43. protected Boolean doInBackground(Object... params) {
  44.  
  45. try {
  46. title = ((EditText)findViewById(R.id.editText1)).getText().toString();
  47. text = ((EditText)findViewById(R.id.editText2)).getText().toString();
  48. text1 = ((EditText)findViewById(R.id.editText3)).getText().toString();
  49.  
  50. from = "mymail@yandex.ru";
  51. where = "myappmail@yandex.ru";
  52.  
  53. MailSenderClass sender = new MailSenderClass("mymail@yandex.ru", "******");
  54.  
  55. sender.sendMail(title, text, text1, from, where);
  56. } catch (Exception e) {
  57. Toast.makeText(mainContext, "Ошибка отправки сообщения!", Toast.LENGTH_SHORT).show();
  58. }
  59.  
  60. return false;
  61. }
  62. }
  63.  
  64. private String mailhost = "smtp.yandex.ru";
  65. private String user;
  66. private String password;
  67. private Session session;
  68.  
  69. private Multipart _multipart;
  70.  
  71. static {
  72. Security.addProvider(new com.exampl1.projectisreal.JSSEProvider());
  73. }
  74.  
  75. public MailSenderClass(String user, String password) {
  76. this.user = user;
  77. this.password = password;
  78.  
  79. _multipart = new MimeMultipart();
  80.  
  81. Properties props = new Properties();
  82. props.setProperty("mail.transport.protocol", "smtp");
  83. props.setProperty("mail.host", mailhost);
  84. props.put("mail.smtp.auth", "true");
  85. props.put("mail.smtp.port", "465");
  86. props.put("mail.smtp.socketFactory.port", "465");
  87. props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
  88. props.put("mail.smtp.socketFactory.fallback", "false");
  89. props.setProperty("mail.smtp.quitwait", "false");
  90.  
  91. session = Session.getDefaultInstance(props, this);
  92. }
  93.  
  94. protected PasswordAuthentication getPasswordAuthentication() {
  95. return new PasswordAuthentication(user, password);
  96. }
  97.  
  98. public synchronized void sendMail(String subject, String body, String sender, String recipients, String filename) throws Exception {
  99. try {
  100. MimeMessage message = new MimeMessage(session);
  101.  
  102.  
  103. message.setSender(new InternetAddress(sender));
  104.  
  105. message.setSubject(subject);
  106.  
  107. if (recipients.indexOf(',') > 0)
  108. message.setRecipients(Message.RecipientType.TO,
  109. InternetAddress.parse(recipients));
  110. else
  111. message.setRecipient(Message.RecipientType.TO,
  112. new InternetAddress(recipients));
  113.  
  114.  
  115. BodyPart messageBodyPart = new MimeBodyPart();
  116. messageBodyPart.setText(body);
  117. _multipart.addBodyPart(messageBodyPart);
  118.  
  119.  
  120. if (!filename.equalsIgnoreCase("")) {
  121. BodyPart attachBodyPart = new MimeBodyPart();
  122. DataSource source = new FileDataSource(filename);
  123. attachBodyPart.setDataHandler(new DataHandler(source));
  124. attachBodyPart.setFileName(filename);
  125.  
  126. _multipart.addBodyPart(attachBodyPart);
  127. }
  128.  
  129. message.setContent(_multipart);
  130.  
  131. Transport.send(message);
  132. } catch (Exception e) {
  133. Log.e("sendMail","Ошибка отправки! ");
  134. }
  135. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement