بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
ارسال ایمیل با فایل
سلام دوستان
من میخام یک ایمیل بفرستم که حالا یک فایل پیوست بشه بهش. یعنی یک دکمه باشه که پوشه ها رو باز کنه و بعد کاربر فایلشو که از نوع نوشتاری (پی دی اف، ورد و ... ) هست انتخاب کنه و در زمانی که داره پیوست میشه توی یک progressbar اینو نشون بده و بعد هم ارسال کنه. کسی میتونه تو نوشتن این کد بهم کمک کنه ؟
ممنون
+3
0
لینک (10 سال پیش)
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
علی
10 سال پیش
0
0
دوستان کد زیر چه مشکلی داره ؟
public class ActivityMain extends Activity {
EditText edtName;
EditText edtFamily;
EditText edtEmail;
EditText edtMobile;
EditText edtSubject;
EditText edtText;
Button btnSend;
private static final String username = "MyEmail";
private static final String password = "MyEmailPassword";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
edtName = (EditText) findViewById(R.id.edtName);
edtFamily = (EditText) findViewById(R.id.edtFamily);
edtEmail = (EditText) findViewById(R.id.edtEmail);
edtMobile = (EditText) findViewById(R.id.edtMobile);
edtSubject = (EditText) findViewById(R.id.edtSubject);
edtText = (EditText) findViewById(R.id.exeText);
btnSend = (Button) findViewById(R.id.btnSend);
btnSend.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
String email = edtEmail.getText().toString();
String Subject = edtSubject.getText().toString();
String Text = edtText.getText().toString();
sendMessage(email, Subject, Text);
}
private Session CreateSessionObject() {
Properties properties = new Properties();
properties.put("mail.smtp.auth", "true");
properties.put("mail.smtp.starttls.enable", "true");
properties.put("mail.smtp.host", "smtp.gmail.com");
properties.put("mail.smtp.port", "587");
return Session.getInstance(properties, new javax.mail.Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
}
private Message createMessage(String email, String subject, String
messageBody, Session session) throws MessagingException,
UnsupportedEncodingException {
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("MyEmail", "MyPassword"));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(email, email));
message.setSubject(subject);
message.setText(messageBody);
return message;
}
private void sendMessage(String email, String subject, String messageBody) {
Session session = CreateSessionObject();
try {
Message message = createMessage(email, subject, messageBody, session);
new SendMailTask().execute(message);
}
catch (AddressException e) {
e.printStackTrace();
}
catch (MessagingException e) {
e.printStackTrace();
}
catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
});
}
private class SendMailTask extends AsyncTask<Message, Void, Void> {
private ProgressDialog progressDialog;
@Override
protected void onPreExecute() {
super.onPreExecute();
progressDialog = ProgressDialog.show(ActivityMain.this, "Please wait", "Sending mail", true, false);
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
progressDialog.dismiss();
}
@Override
protected Void doInBackground(Message... messages) {
try {
Transport.send(messages[0]);
}
catch (MessagingException e) {
e.printStackTrace();
}
return null;
}
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .