Send Email Animation Along with sending of mail.
March 9, 2016 ยท View on GitHub
package com.cooltechworks.envelopeanimation;
import android.content.Intent; import android.os.AsyncTask; import android.os.Handler; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.view.animation.Animation; import android.view.animation.AnimationSet; import android.view.animation.RotateAnimation; import android.view.animation.ScaleAnimation; import android.view.animation.TranslateAnimation; import android.widget.RelativeLayout; import android.widget.TextView;
import com.sun.mail.smtp.SMTPTransport;
import java.util.Date; import java.util.Properties;
import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Session; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage;
public class MainActivity extends AppCompatActivity {
private static final int EMAIL_ACTIVITY_REQUEST = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.act_main);
findViewById(R.id.show_dialog_btn).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, EnvelopeActivity.class);
startActivityForResult(intent, EMAIL_ACTIVITY_REQUEST);
}
});
}
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == EMAIL_ACTIVITY_REQUEST && resultCode == RESULT_OK) {
String[] to = data.getStringArrayExtra(Intent.EXTRA_EMAIL);
String subject = data.getStringExtra(Intent.EXTRA_SUBJECT);
String msg = data.getStringExtra(Intent.EXTRA_TEXT);
Log.d(MainActivity.class.getSimpleName(),"To:"+to[0]);
Log.d(MainActivity.class.getSimpleName(),"Subject:"+subject);
Log.d(MainActivity.class.getSimpleName(),"Msg:"+msg);
sendEmail(to[0],subject,msg);
}
}
public void sendEmail(String toAddress, String subject, String msgBody) {
String fromAddress = "fromaddress@somedomain.com";
String smtpHost = "<your SMTP Host>";
String smtpLogin = "<your SMTP Login>";
String smtpPassword = "<your SMTP Password>";
new AsyncTask<String, Void, Void>() {
@Override
protected Void doInBackground(String... params) {
String fromAddress = params[0];
String toAddress = params[1];
String subject = params[2];
String msgBody = params[3];
String smtpLogin = params[4];
String smtpPassword = params[5];
String smtpHost = params[6];
try {
Properties props = System.getProperties();
props.put("mail.smtps.host", smtpHost);
props.put("mail.smtps.auth", "true");
Session session = Session.getInstance(props, null);
Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(fromAddress));
msg.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(toAddress, false));
msg.setSubject(subject);
msg.setText(msgBody);
msg.setSentDate(new Date());
SMTPTransport t =
(SMTPTransport) session.getTransport("smtps");
t.connect(smtpHost, smtpLogin, smtpPassword);
t.sendMessage(msg, msg.getAllRecipients());
System.out.println("Response: " + t.getLastServerResponse());
t.close();
} catch (MessagingException e) {
e.printStackTrace();
}
return null;
}
}.execute(fromAddress, toAddress, subject, msgBody,smtpLogin,smtpPassword,smtpHost );
}
}