سبد خرید0

هیچ محصولی در سبد خرید نیست.

ارسال ایمیل از داخل برنامه اندروید در اندروید استودیو یکی از راه های هست که برنامه نویسان
در داخل برنامه های خود برای بخش های متفاوتی استفاده میکنند

یکی از بخش های رایج مورد استفاده این قابلیت ساخت فرم تماس با ما در برنامه های اندروید میباشد

خیلی از کاربران میتونن از ایمیل شخصی یا ایمیل های مربوط به وب سوریس خودشون در این زمنیه استفاده کنند
اما خوب آموزشی که امروز براتون در کیومرث دِو قرار دادیم آموزش ارسال ایمیل با استفاده از تنظیمات صندوق پستی گوگل هست

چیزی که برای این آموزش نیاز دارید یه ایمیل گوگل یا همون جیمیل هست
بریم سراغ آموزش

ارسال ایمیل از داخل برنامه اندروید در اندروید استودیو

قدم اول : پروژه جدید ایجاد کنید

قدم دوم: فایل build.gradle پروژه خودتون رو باز کنید و کد های زیر رو بهش اضافه کنید
				
					plugins {
    id 'com.android.application'
}

android {
    namespace 'com.techblax.techblaxemailsender'
    compileSdk 33

    defaultConfig {
        applicationId "com.techblax.techblaxemailsender"
        minSdk 21
        targetSdk 33
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    packagingOptions{
        exclude 'META-INF/NOTICE.md'
        exclude 'META-INF/LICENSE.md'
    }
}

dependencies {

    implementation 'androidx.appcompat:appcompat:1.6.1'
    implementation 'com.google.android.material:material:1.9.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
    testImplementation 'junit:junit:4.13.2'
    androidTestImplementation 'androidx.test.ext:junit:1.1.5'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'

    implementation 'com.sun.mail:android-mail:1.6.6'
    implementation 'com.sun.mail:android-activation:1.6.7'
}

				
			

قدم چهارم : برروی پکیج برنامه خود راست کلیک کرده و سپس یک کلاس جدید تحت عنوان Appdata درست کنید

				
					package com.techblax.techblaxemailsender.util;

public class Appdata {


    // Qmarsdev.com  visit our website

    public static final String Sender_Email_Address="kiumarskurd@gmail.com";  //enter sender email here
    public static final String Sender_Email_Password="tyekjcltkkxnepwb"; // جهت دریافت رمز جیمیل مورد استفاده حتما آموزش ویدیویی را از انتهای این پست مشاهده کنید
    //First, activate the two-step verification of your Gmail account
    // Then let's go to complete the training
    public static final String Reciver_Email_Address="kiumars1997@gmail.com"; //enter reciver email

    public static final String Gmail_Host = "smtp.gmail.com";


}
				
			

قدم سوم : فایل لایوت خود activity_main.xml را باز کنید و سپس کد های زیر را بهش اضافه کنید

				
					<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <LinearLayout
        android:orientation="vertical"
        android:padding="10dp"
        android:layout_margin="10dp"
        android:layout_width="match_parent"
        android:layout_height="match_parent">



    <com.google.android.material.textfield.TextInputLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <EditText
            android:id="@+id/ed_name"
            android:hint="Name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
        />
    </com.google.android.material.textfield.TextInputLayout>

        <com.google.android.material.textfield.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <EditText
                android:id="@+id/ed_title"
                android:hint="Title"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                />
        </com.google.android.material.textfield.TextInputLayout>


        <com.google.android.material.textfield.TextInputLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <EditText
                android:id="@+id/ed_text"
                android:hint="Text"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                />
        </com.google.android.material.textfield.TextInputLayout>

        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/btn_send_email"
            android:text="SEND"/>


    </LinearLayout>

</RelativeLayout>
);
				
			
قدم پنجم : کلاس MainActivity را باز کرده و کد های زیر رو بهش اضافه کنی
				
					package com.techblax.techblaxemailsender;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Build;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.EditText;

import com.techblax.techblaxemailsender.util.Appdata;

import java.util.Properties;

import javax.mail.Authenticator;

import javax.mail.Message;

import javax.mail.MessagingException;

import javax.mail.PasswordAuthentication;

import javax.mail.Session;

import javax.mail.Transport;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeMessage;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    EditText name_,title_,text_;

    Button btn_send;

    String n_,t_,tt_;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        init_ui();

    }

    private void init_ui() {

        name_ = findViewById(R.id.ed_name);

        title_ = findViewById(R.id.ed_title);

        text_ = findViewById(R.id.ed_text);

        btn_send = findViewById(R.id.btn_send_email);

        btn_send.setOnClickListener(this);

    }

    @Override

    public void onClick(View v) {

        switch (v.getId()){

            case R.id.btn_send_email:

                n_=name_.getText().toString();

                t_=title_.getText().toString();

                tt_=text_.getText().toString();

                send_email(n_,t_,tt_);

                break;

            default:

        }

    }

    private void send_email(String n_, String t_, String tt_) {

        Properties properties = System.getProperties();

        properties.put("mail.smtp.host", Appdata.Gmail_Host);

        properties.put("mail.smtp,port","465");

        properties.put("mail.smtp.ssl.enable","true");

        properties.put("mail.smtp.auth","true");

        Session session = Session.getInstance(properties, new Authenticator() {

            @Override

            protected PasswordAuthentication getPasswordAuthentication() {

                return new PasswordAuthentication(Appdata.Sender_Email_Address,Appdata.Sender_Email_Password);

            }

        });

        MimeMessage message = new MimeMessage(session);

        try {

            message.addRecipient(Message.RecipientType.TO,new InternetAddress(Appdata.Reciver_Email_Address));

            message.setSubject(t_);

            message.setText("From: "+n_+"\n"+"Text: "+tt_);

            Thread thread = new Thread(new Runnable() {

                @Override

                public void run() {

                    try {

                        Transport.send(message);

                    } catch (MessagingException e) {

                        e.printStackTrace();

                    }

                }

            });

            thread.start();

        } catch (MessagingException e) {

            throw new RuntimeException(e);

        }

    }

}
				
			

 

 

ودر اخر برنامه را اجرا کرده

توجه کنید در قسمت وارد کردن رمز ایمیل ارسال کننده رمز فعلی ایمیل خود را وارد نکنید چون برنامه
ایمیل رو ارسال نخواهد کرد
ابتدا تایید دو مرحله ای جیمیل رو که برای ارسال ازآن استفاده میکنید فعال کرده و سپس در بخش تایید دومرحله
بر روی رمز برنامه کلیک کنید از منوی کشویی موجود دیگر رو بزنید و یه اسم دلخواه وارد کنید
بعد از تایید یک رمز 16 رقمی در اختیارتون قرار داده میشه اون رمز رو در اپ قسمت رمز وارد کنید
تا برنامه به درستی کار کنه

امیدوارم این آموزش به دردتون خورده باشه ، موفق باشد
همچنین میتونید ویدیو آموزش کامل ساخت این پروژه رو از کانال ما در یوتیوب ببینید



دیدگاهتان را بنویسید