Задать вопрос

Как организовать отправку результатов на email?

Есть класс, в котором проходит тестирование, и по окончании его выводится алерт окно с результатами.
Все данные записаны в переменной
String stat="";

Как организовать передачу значения переменной в тело письма и отправить его на указанную почту?
Если возможно, то запретить редактирование текста.
private void Stats() {
/*		// TODO Auto-generated method stub
		double rating=Math.round(((double)right/((double)right+(double)wrong))*100);
		String stat="";
		stat+=getString(R.string.note1);
		stat+=" "+right+" ";
		stat+=getString(R.string.note2);
		stat+=" "+total_time+". ";
		stat+=getString(R.string.note3);
		stat+=" "+(rating+"").substring(0,(rating+"").length()-2);
		Toast.makeText(this, stat, Toast.LENGTH_LONG).show();*/
		AlertDialog.Builder builder = new AlertDialog.Builder(Test.this);
		double rating=Math.round(((double)right/((double)right+(double)wrong))*100);
		String stat="";
		stat+=getString(R.string.note1);
		stat+=" "+right+" ";
		stat+=getString(R.string.note2);
		stat+=" "+total_time+".\n";
		stat+=getString(R.string.note3);
		stat+=" "+(rating+"").substring(0,(rating+"").length()-2);
		builder.setTitle("Результаты тестирования")
				.setMessage(stat+"\nA – 85-100\nB – 74-85\nС – 61-73\nD – от 0 до 61 (Тест не пройден)")
				.setIcon(R.drawable.result)
				.setCancelable(false)
				.setNegativeButton("Отрпавить результаты по E-mail",

					new DialogInterface.OnClickListener() {
							public void onClick(DialogInterface dialog, int id) {
								Intent email1 = new Intent(Intent.ACTION_SEND);
							      //Кому
							      email1.putExtra(Intent.EXTRA_EMAIL, new String[]{"mbhusty@gmail.com"});
							      
							          email1.setType("message/rfc822");
							          //О чем
							          email1.putExtra(Intent.EXTRA_SUBJECT, "Результаты тестирования");
							          //Что
							          email1.putExtra(android.content.Intent.EXTRA_TEXT, "Введите пожалуйста Ваше ФИО и результаты тестирования");
							          //Как
							          startActivity(Intent.createChooser(email1, "Выберите email клиент :"));
								
								/*dialog.cancel();*/
							}
						});
		AlertDialog alert = builder.create();
		alert.show();
	}
}
  • Вопрос задан
  • 2711 просмотров
Подписаться 3 Оценить 2 комментария
Пригласить эксперта
Ответы на вопрос 1
@a_f0x
Библиотеку javax.mail я использовал.
вот пример рассылки списку адресатов

private void sendMessage2Mail(ArrayList mailList, String mailMessage) {
try{
Properties props = System.getProperties();
props.setProperty("mail.smtp.host", serverMail);//Устанавливаем свойства подключения, указываем сервер почтовый наш
props.setProperty("mail.password", passwordMail);
Session session = Session.getInstance(props, null);//Устанавливаем сессию с заданными свойствами
Message msg = new MimeMessage(session);//новое сообщение в етой сесси
msg.setFrom(new InternetAddress(loginMail + "@" + serverMail));//от кого слать
for (String mailAcc : mailList){
Thread.sleep(500);
msg.setRecipients(Message.RecipientType.TO,InternetAddress.parse(mailAcc, false));
msg.setSubject("Служба Уведомлений");//Тема письма
msg.setSentDate(new Date());//Дата отправки
msg.setText(mailMessage);//Текст письма
Transport.send(msg);//заслать письмище!
}
}
catch (MessagingException e) {
e.printStackTrace();
}
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы