Я пытаюсь отправить электронное письмо, где пользователь нажимает кнопку, и появляется диалоговое окно для ввода его электронной почты, и оно должно отправить ему электронное письмо, однако я получаю сообщение об ошибке: Expression expected ';' never used
Мне интересно, если это потому, что диалоговое окно объявлено общедоступным, и я пытаюсь использовать отправку почты в качестве личного
Вот мой код диалога:
Button Emailbtn = (Button) dialog.findViewById(R.id.btnEmail);
Emailbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
v.setSelected(true);
final Dialog dialog = new Dialog(ViewQuotesD.this);
dialog.getWindow();
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.dialemail);
dialog.show();
final EditText emaill = (EditText) findViewById(R.id.edtEmail);
private void sendEmail() {
//Getting content for email
String email = emaill.getText().toString().trim();
String subject = "Your Login Credentials";
String message ="Hi "+SlectedName+"\n" +"Your Grand Prics is:" + " " + SelectedPrice + "\n" + "Your Installation cost:" + " " + SelectedInstall;
//Creating SendMail object
SendMail sm = new SendMail(ViewQuotesD.this, email, subject, message);
//Executing sendmail to send email
sm.execute();
}
}
});
и вот мой класс для отправки почты:
public class SendMail extends AsyncTask<Void,Void,Void> {
//Declaring Variables
private Context context;
private Session session;
//Information to send email
private String email;
private String subject;
private String message;
//Progressdialog to show while sending email
private ProgressDialog progressDialog;
//Class Constructor
public SendMail(Context context, String email, String subject, String message){
//Initializing variables
this.context = context;
this.email = email;
this.subject = subject;
this.message = message;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
//Showing progress dialog while sending email
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
//Dismissing the progress dialog
//Showing a success message
}
@Override
protected Void doInBackground(Void... params) {
//Creating properties
Properties props = new Properties();
//Configuring properties for gmail
//If you are not using gmail you may need to change the values
props.put("mail.smtp.host", "smtp.gmail.com");
props.put("mail.smtp.socketFactory.port", "465");
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "465");
//Creating a new session
session = Session.getDefaultInstance(props,
new javax.mail.Authenticator() {
//Authenticating the password
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(Config.EMAIL, Config.PASSWORD);
}
});
try {
//Creating MimeMessage object
MimeMessage mm = new MimeMessage(session);
//Setting sender address
mm.setFrom(new InternetAddress(Config.EMAIL));
//Adding receiver
mm.addRecipient(Message.RecipientType.TO, new InternetAddress(email));
//Adding subject
mm.setSubject(subject);
//Adding message
mm.setText(message);
//Sending email
Transport.send(mm);
} catch (MessagingException e) {
e.printStackTrace();
}
return null;
}