Я работаю над формой обратной связи. Он состоит из имени, электронной почты и обратной связи EditTexts. Я делаю приложение андроида для отправки пользователю с использованием JavaMail API. Теперь My android работает нормально, так как пользователь вводит данные в вышеупомянутое пространство и отправляет обратную связь по почте, которая предоставляется как адрес получателей (т. Е. Учетная запись Mymail).Приложение для Android-приложений JavaMail не может показывать имя отправителя
Проблема: Я попробовал свой уровень лучше всего, чтобы получить данные (почтовый идентификатор пользователя) от входа EditText для электронной почты идентификатор пользователя и показать его на Gmail счета счета, посланный USER_NAME но после многочисленных усилий, это дает мне такое же есть данные, почта отсылает мной только не идентификатор пользователя не отображается
я обеспечиваю вам снимок экрана моей учетной записи электронной почты
My gmail inbox where I received the mail from the user
Как вы можете см есть два письма прямо сейчас, один, который непрочитанный он не показывает электронный идентификатор пользователя, а показывает меня, потому что почта приходит от имени пользователя, предоставленного в адресе получателя
Я сделал исследование на нем:
Используется setFrom (новый InternetAddress (электронная почта)) здесь электронная почта является EditText ввод электронной почты отправителем.
пошел во многие поиски, но ни одна из идей здесь не работает (не удалось предоставить ссылки, поскольку у меня нет большой репутации, чтобы разместить более двух ссылок. ве две фотографии, которые также в виде ссылок как StackOverflow не позволяет мне uplaod его непосредственно.)
ли это также setFrom (новый InternetAddress («Отправитель» + «<„+ электронная почта +“>»)) Результаты показаны Отправитель
Что я в итоге сделал: setFrom (новый интернет-адрес (Config.EMAIL, email)); и получил какое-то время, показывая электронное письмо в электронном адресе в разделе. Картина даст вам лучшее представление о
, но все же результат такой же папка Входящие неоднократно показывала мне электронную почту отправителя, как мои.
Вот mycode:
1. SendMail.java
public class SendMail extends AsyncTask<Void,Void,Void> {
//Declaring Variables
private Context context;
private Session session;
//Information to send email
private String name;
private String email;
private String subject;
private String feedback;
private ProgressDialog progressDialog;
public SendMail(Context context,String name, String email,String subject, String feedback) {
this.context = context;
this.name = name;
this.email = email;
this.subject = subject;
this.feedback = feedback;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
//Showing progress dialog while sending email
progressDialog = ProgressDialog.show(context,"Sending feedback","Please wait...",false,false);
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
//Dismissing the progress dialog
progressDialog.dismiss();
//Showing a success message
Toast.makeText(context,"Feedback Sent", Toast.LENGTH_LONG).show();
}
@Override
protected Void doInBackground(Void... voids) {
//creating properties
Properties properties = new Properties();
//Configuring properties for gmail
//If you are not using gmail you may need to change the values
properties.put("mail.smtp.host", "smtp.gmail.com");
properties.put("mail.smtp.socketFactory.port", "465");
properties.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
properties.put("mail.smtp.auth", "true");
properties.put("mail.smtp.port", "465");
//creating new session
session = Session.getDefaultInstance(properties, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(Config.EMAIL, Config.PASSWORD);
}
});
InternetAddress fromAddress = null;
try {
fromAddress = new InternetAddress(Config.EMAIL,email);
}catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
try {
//Creating MimeMessage object
MimeMessage mimeMessage = new MimeMessage(session);
//Setting sender address
mimeMessage.setFrom(fromAddress);
//Adding receiver
mimeMessage.addRecipient(Message.RecipientType.TO, new InternetAddress(Config.EMAIL));
//Adding subject
mimeMessage.setSubject(subject);
//Adding Message
mimeMessage.setText("Name:"+ " "+ name + "\n" + "Email:" + " " + email + "\n" +
"Feedback" + " " + feedback);
//Sending email
Transport.send(mimeMessage);
} catch (MessagingException e) {
Log.e("SendMail", e.getMessage(), e);
}
return null;
}
}
2.Config.Java
public class Config {
public static final String EMAIL = "[email protected]";
public static final String PASSWORD ="password";
}
3. Feedback.java
private void sendEmail() {
//getting content from email
String subject = string.toString();
String email = inputEmail.getText().toString().trim();
String name = inputName.getText().toString().trim();
String feedback = inputFeedback.getText().toString().trim();
//Creating SendMail object
SendMail sendMail = new SendMail(getContext(),name,email,subject,feedback);
//Executing sendmail to send email
sendMail.execute();
}
Пожалуйста, предложите мне какой-нибудь способ, чтобы я мог добраться до моего назначения. Заранее благодарю.
Большое вам спасибо за эту полезную информацию. Вы сэкономили для этого много времени. Теперь я буду делать что-то лучше для этого. Еще раз спасибо – Alok