Advertisement
Guest User

Untitled

a guest
Mar 19th, 2017
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.06 KB | None | 0 0
  1. package com.example.android.emailverification;
  2.  
  3. import android.os.Bundle;
  4. import android.support.v7.app.AppCompatActivity;
  5. import android.util.Log;
  6. import android.view.View;
  7. import android.widget.Button;
  8.  
  9. public class MainActivity extends AppCompatActivity implements
  10. View.OnClickListener {
  11. @Override
  12. protected void onCreate(Bundle savedInstanceState) {
  13. super.onCreate(savedInstanceState);
  14. setContentView(R.layout.activity_main);
  15.  
  16. Button send = (Button) findViewById(R.id.send);
  17. send.setOnClickListener(this);
  18. }
  19.  
  20.  
  21. private void sendEmail() {
  22. new Thread(new Runnable() {
  23. public void run() {
  24. try {
  25. Log.e(">>", "Inside SendEmail run()");
  26. GMailSender sender = new GMailSender("*********","*******");
  27. // sender.addAttachment(mFilePath);
  28. sender.sendMail("Test mail","This mail has been sent from android app along with attachment", "*******","********");
  29. Log.v("MainActivity", "Your mail has been sent…");
  30. } catch (Exception e) {
  31. e.printStackTrace();
  32. }
  33. }
  34. }).start();
  35. }
  36.  
  37. @Override
  38. public void onClick(View v) {
  39. Log.e(">>", "Button clicked");
  40. sendEmail();
  41. }
  42. }
  43.  
  44. import android.util.Log;
  45. import java.security.AccessController;
  46. import java.security.Provider;
  47.  
  48. public final class JSSEProvider extends Provider {
  49. private static final long serialVersionUID = 1L;
  50. public JSSEProvider() {
  51. super("HarmonyJSSE", 1.0, "Harmony JSSE Provider");
  52. AccessController
  53. .doPrivileged(new java.security.PrivilegedAction<Void>() {
  54. public Void run() {
  55. Log.e(">>","Inside JSSEPROVIDER");
  56. put("SSLContext.TLS",
  57. "org.apache.harmony.xnet.provider.jsse.SSLContextImpl");
  58. put("Alg.Alias.SSLContext.TLSv1", "TLS");
  59. put("KeyManagerFactory.X509",
  60. "org.apache.harmony.xnet.provider.jsse.KeyManagerFactoryImpl");
  61. put("TrustManagerFactory.X509",
  62. "org.apache.harmony.xnet.provider.jsse.TrustManagerFactoryImpl");
  63. return null;
  64. }
  65. });
  66. }
  67. }
  68.  
  69. package com.example.android.emailverification;
  70.  
  71. import android.util.Log;
  72. import java.io.ByteArrayInputStream;
  73. import java.io.IOException;
  74. import java.io.InputStream;
  75. import java.io.OutputStream;
  76. import java.security.Security;
  77. import java.util.Properties;
  78. import javax.activation.DataHandler;
  79. import javax.activation.DataSource;
  80. import javax.activation.FileDataSource;
  81. import javax.mail.BodyPart;
  82. import javax.mail.Message;
  83. import javax.mail.Multipart;
  84. import javax.mail.PasswordAuthentication;
  85. import javax.mail.Session;
  86. import javax.mail.Transport;
  87. import javax.mail.internet.InternetAddress;
  88. import javax.mail.internet.MimeBodyPart;
  89. import javax.mail.internet.MimeMessage;
  90. import javax.mail.internet.MimeMultipart;
  91.  
  92. public class GMailSender extends javax.mail.Authenticator {
  93. private String mailhost = "smtp.gmail.com";
  94. private String user;
  95. private String password;
  96. private Session session;
  97.  
  98. private Multipart _multipart = new MimeMultipart();
  99. static {
  100. Log.e(">>", "inside multipart");
  101. Security.addProvider(new JSSEProvider());
  102. }
  103.  
  104. public GMailSender(String user, String password) {
  105. this.user = user;
  106. this.password = password;
  107.  
  108. Properties props = new Properties();
  109.  
  110. props.put("mail.smtp.auth", "true");
  111. props.put("mail.smtp.starttls.enable", "true");
  112. props.put("mail.smtp.host", "smtp.gmail.com");
  113. props.put("mail.smtp.port", "587");
  114. props.put("mail.smtp.socketFactory.port", "465");
  115. props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
  116. props.put("mail.smtp.socketFactory.fallback", "false");
  117. props.setProperty("mail.host", mailhost);
  118.  
  119. Log.e(">>", "properties set");
  120. session = Session.getDefaultInstance(props, this);
  121. Log.e(">>","Session get");
  122. }
  123.  
  124. protected PasswordAuthentication getPasswordAuthentication() {
  125. return new PasswordAuthentication(user, password);
  126. }
  127.  
  128. /**
  129. * Use
  130. * {@link #sendMail(String subject, String body, String sender, String recipients)}
  131. *
  132. */
  133.  
  134. public synchronized void sendMail(String subject, String body,
  135. String sender, String recipients) throws Exception {
  136. try {
  137. Log.e(">>", subject + "n" + body + "n" + sender + "n" + recipients);
  138. MimeMessage message = new MimeMessage(session);
  139. DataHandler handler = new DataHandler(new ByteArrayDataSource(
  140. body.getBytes(),"text/plain"));
  141. message.setSender(new InternetAddress(sender));
  142. message.setSubject(subject);
  143. message.setDataHandler(handler);
  144. BodyPart messageBodyPart = new MimeBodyPart();
  145. messageBodyPart.setText(body);
  146. _multipart.addBodyPart(messageBodyPart);
  147.  
  148. // Put parts in message
  149. message.setContent(_multipart);
  150. if (recipients.indexOf(",") > 0) {
  151. message.setRecipients(Message.RecipientType.TO,
  152. InternetAddress.parse(recipients));
  153. } else {
  154. message.setRecipient(Message.RecipientType.TO,
  155. new InternetAddress(recipients));}
  156. Transport.send(message);
  157. } catch (Exception e) {
  158. e.printStackTrace();
  159. }
  160. }
  161.  
  162. public void addAttachment(String filename) throws Exception {
  163. /* BodyPart messageBodyPart = new MimeBodyPart();
  164. DataSource source = new FileDataSource(filename);
  165. messageBodyPart.setDataHandler(new DataHandler(source));
  166. messageBodyPart.setFileName(“download Pdf”);
  167.  
  168. _multipart.addBodyPart(messageBodyPart);*/
  169. /* Message message = new MimeMessage(session);
  170. Multipart _multipart = new MimeMultipart();
  171. BodyPart messageBodyPart = new MimeBodyPart();
  172. File sdCard =Environment.getExternalStorageDirectory();
  173. String path=sdCard.getAbsolutePath() + “/pdf/”+”/test.pdf”;
  174. messageBodyPart.setFileName(path);
  175. messageBodyPart.setDisposition(MimeBodyPart.ATTACHMENT);
  176. _multipart.addBodyPart(messageBodyPart);
  177.  
  178. // Put parts in message
  179. message.setContent(_multipart);*/
  180. BodyPart messageBodyPart = new MimeBodyPart();
  181. DataSource source = new FileDataSource(filename);
  182. messageBodyPart.setDataHandler(new DataHandler(source));
  183. messageBodyPart.setFileName(filename);
  184. _multipart.addBodyPart(messageBodyPart);
  185.  
  186. BodyPart messageBodyPart2 = new MimeBodyPart();
  187. messageBodyPart2.setText("subject43");
  188.  
  189. _multipart.addBodyPart(messageBodyPart2);
  190. }
  191.  
  192. public class ByteArrayDataSource implements DataSource {
  193. private byte[] data;
  194. private String type;
  195.  
  196. public ByteArrayDataSource(byte[] data, String type) {
  197. super();
  198. this.data = data;
  199. this.type = type;
  200. }
  201.  
  202. public ByteArrayDataSource(byte[] data) {
  203. super();
  204. this.data = data;
  205. }
  206.  
  207. public void setType(String type) {
  208. this.type = type;
  209. }
  210.  
  211. public String getContentType() {
  212. if (type == null)
  213. return "application/octet-stream";
  214. else
  215. return type;
  216. }
  217.  
  218. public InputStream getInputStream() throws IOException {
  219. return new ByteArrayInputStream(data);
  220. }
  221.  
  222. public String getName() {
  223. return "ByteArrayDataSource";
  224. }
  225.  
  226. public OutputStream getOutputStream() throws IOException {
  227. throw new IOException("Not Supported");
  228. }
  229. }
  230. }
  231.  
  232. Reconstruct Branch: NOTHING
  233. 03-19 22:37:51.817 31943-32009/com.example.android.emailverification I/OpenGLRenderer: Initialized EGL, version 1.4
  234. 03-19 22:37:51.827 31943-32009/com.example.android.emailverification D/OpenGLRenderer: Enabling debug mode 0
  235. 03-19 22:37:51.907 31943-31943/com.example.android.emailverification I/Timeline: Timeline: Activity_idle id: android.os.BinderProxy@1b9c2261 time:1608595
  236. 03-19 22:38:05.427 31943-31943/com.example.android.emailverification E/>>: Button clicked
  237. 03-19 22:38:05.447 31943-32418/com.example.android.emailverification E/>>: Inside SendEmail run()
  238. 03-19 22:38:05.467 31943-32418/com.example.android.emailverification E/>>: inside multipart
  239. 03-19 22:38:05.467 31943-32418/com.example.android.emailverification E/>>: Inside JSSEPROVIDER
  240. 03-19 22:38:05.507 31943-32418/com.example.android.emailverification E/>>: properties set
  241. 03-19 22:38:05.547 31943-32418/com.example.android.emailverification E/>>: Session get
  242. 03-19 22:38:05.547 31943-32418/com.example.android.emailverification E/>>: Test mail
  243. This mail has been sent from android app along with attachment
  244. kumesh257@gmail.com
  245. yadavumesh8090@gmail.com
  246. 03-19 22:38:05.567 31943-31954/com.example.android.emailverification W/art: Suspending all threads took: 6.202ms
  247. 03-19 22:38:09.267 31943-32418/com.example.android.emailverification W/System.err: javax.mail.AuthenticationFailedException
  248. 03-19 22:38:09.277 31943-32418/com.example.android.emailverification W/System.err: at javax.mail.Service.connect(Service.java:319)
  249. 03-19 22:38:09.277 31943-32418/com.example.android.emailverification W/System.err: at javax.mail.Service.connect(Service.java:169)
  250. 03-19 22:38:09.277 31943-32418/com.example.android.emailverification W/System.err: at javax.mail.Service.connect(Service.java:118)
  251. 03-19 22:38:09.277 31943-32418/com.example.android.emailverification W/System.err: at javax.mail.Transport.send0(Transport.java:188)
  252. 03-19 22:38:09.277 31943-32418/com.example.android.emailverification W/System.err: at javax.mail.Transport.send(Transport.java:118)
  253. 03-19 22:38:09.277 31943-32418/com.example.android.emailverification W/System.err: at com.example.android.emailverification.GMailSender.sendMail(GMailSender.java:104) 03-19 22:38:09.277 31943-32418/com.example.android.emailverification W/System.err: at com.example.android.emailverification.MainActivity$1.run(MainActivity.java:28)
  254. 03-19 22:38:09.277 31943-32418/com.example.android.emailverification W/System.err: at java.lang.Thread.run(Thread.java:818)
  255. 03-19 22:38:09.277 31943-32418/com.example.android.emailverification V/MainActivity: Your mail has been sent…
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement