آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

ارسال ایمیل با فایل

علی  10 سال پیش  10 سال پیش
0 0

سلام دوستان

من میخام یک ایمیل بفرستم که حالا یک فایل پیوست بشه بهش. یعنی یک دکمه باشه که پوشه ها رو باز کنه و بعد کاربر فایلشو که از نوع نوشتاری (پی دی اف، ورد و ... ) هست انتخاب کنه و در زمانی که داره پیوست میشه توی یک 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;
        }
    }
0 0
دوست عزیز دکمه را بزنید و کد را داخل آن قرار دهید (10 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .