Введение
Эффект изображения
Изображение с эффектом отправки исключений по электронной почте (https://images.gitee.com/uploads/images/2019/0708/150642_7fb134f8_5114946.png "36Z]QUBBVIA_KRC$]D@M{)8.png")
Инструкция по установке
В файле build.gradle проекта добавьте:
allprojects {
repositories {
..
maven { url 'https://www.jitpack.io' }
}
}
В файл build.gradle приложения добавьте:
dependencies { .. implementation 'com.gitee.liujiangc:dAssistant:0.1.8' }
Использование
public class MyApplication extends Application {
public static synchronized MyApplication getInstance() {
return mInstance;
}
private static MyApplication mInstance;
@Override
public void onCreate() {
super.onCreate();
mInstance = this;
/** Инициализация (если требуется только функция отправки писем, инициализация не требуется)
* init принимает один или два параметра
**/
DeathAssistant.getInstance(getInstance(), true).init(getEmailBean(),null);
}
/**
* Информация о конфигурации электронной почты
* @return
*/
public EmailBean getEmailBean() {
EmailBean eb = new EmailBean();
eb.setHost("smtp.qq.com");//Адрес сервера электронной почты (в данном случае QQ)
eb.setPort("587");//Порт сервера электронной почты
eb.setApp_name(this.getString(R.string.app_name));//Название вашего приложения
eb.setUser_name("test_user_id");//Если в приложении есть модуль входа, можно передать идентификатор пользователя
eb.setToEmail("Введите адрес для получения писем@qq.com");//Адрес для получения писем
eb.setFormEmail("Введите адрес отправки писем@qq.com");//Адрес отправки писем
eb.setPassword("Введите полученный код авторизации");//Код авторизации для входа в почтовый ящик третьей стороны
// Процесс получения кода авторизации QQ: войдите в веб-версию почтового ящика QQ - Настройки - Аккаунт - Включите POP3/SMTP - Включите IMAP/SMTP - Сгенерируйте код авторизации
// Для новых запросов QQ требуется более двух недель для подачи заявки на получение кода авторизации
eb.setTitle("Отчет об ошибках");//Заголовок письма
return eb;
}
}
AndroidManifest.xml
<application android:name=".MyApplication" ..
Отправка чистого текстового письма:
EmailBean eb = MyApplication.getInstance().getEmailBean(); eb.setTitle("Чистое текстовое письмо"); final MailInfo mailInfo = creatMail(eb); mailInfo.setContent("锄禾日当午,汗滴禾下土。"); new Thread(new Runnable() { @Override public void run() { MailSender sms = new MailSender(); sms.sendTextMail(mailInfo); } }).start();
Отправка письма с вложением — требуется разрешение на чтение:
EmailBean eb_file = MyApplication.getInstance().getEmailBean(); eb_file.setTitle("Письмо с вложением"); final MailInfo mailInfo_file = creatMail(eb_file); mailInfo_file.setContent("谁知盘中餐,粒粒皆辛苦。"); new Thread(new Runnable() { @Override public void run() { MailSender sms = new MailSender(); sms.sendFileMail(mailInfo_file, new File(Environment.getExternalStorageDirectory().getPath() + "/mes.txt")); } }).start();
Отправка HTML-письма:
EmailBean eb_html = MyApplication.getInstance().getEmailBean(); eb_html.setTitle("HTML-письмо"); final MailInfo mailInfo_html = creatMail(eb_html); mailInfo_html.setContent("Переход"); new Thread(new Runnable() { @Override public void run() { MailSender sms = new MailSender(); sms.sendHtmlMail(mailInfo_html); } }).start();
Конфигурация обфускации
# Gson
-dontwarn sun.misc.**
-keepclass sun.misc.**{*;}
-dontwarn com.google.**
-keepclass com.google.** {*;}
# Класс электронной почты
-dontwarn com.sun.activation.registries.**
-keep class com.sun.activation.registries.** { *;}
-dontwarn javax.activation.**
-keep class javax.activation.** { *;}
-dontwarn myjava.awt.datatransfer.**
-keep class myjava.awt.datatranster.**{ *;}
-dontwarn org.apache.harmony.**
-keep class org.apache.harmony.** { *;}
-dontwarn com.sun.mail.**
-keep class com.sun.mail.** { *;}
# Этот демо-проект
-dontwarn cn.ljcdada.deathassistant.**
-keep class cn.ljcdada.deathassistant.** { *;}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )