2013-07-29 346 views
1

我正尝试从我的应用程序发送电子邮件进行注册。它包含一个随机数字,需要输入该数字才能激活账户。但我无法弄清楚如何在Java中做到这一点。Android发送电子邮件

我尝试这样做:

public void registerButtonMethod(View view){ 
     if(usernameBox.getText().length() > 2) 
     { 
      if(passwordBox.getText() == confirmPasswordBox.getText()) 
      { 
       String adress = emailBox.getText().toString(); 
       int randomzahl = (int) ((Math.random()*pMaximum)+1); 
       String host = "smtp.gmail.com"; 
       String from = adress; 
       String pass = password; 
       Properties props = System.getProperties(); 
       props.put("mail.smtp.starttls.enable", "true"); 
       props.put("mail.smtp.host", host); 
       props.put("mail.smtp.user", from); 
       props.put("mail.smtp.password", pass); 
       props.put("mail.smtp.port", "587"); 
       props.put("mail.smtp.auth", "true"); 

       String[] to = {emailBox.getText().toString()}; 
       Session session = Session.getDefaultInstance(props, null); 
       MimeMessage message = new MimeMessage(session); 
       message.setFrom(new InternetAddress(from)); 
       InternetAddress[] toAddress = new InternetAddress[to.length]; 
       message.setSubject("test"); 
       message.setText("test"); 
       Transport transport = session.getTransport("smtp"); 
       transport.connect(host, from, pass); 
       transport.sendMessage(message, message.getAllRecipients()); 
       transport.close(); 
      } 
     } 
} 

但我不认为这会工作:/我会约一些帮助很高兴收到你们:d

谢谢!

回答

0

变化

if(passwordBox.getText() == confirmPasswordBox.getText()) 

if(passwordBox.getText().toString().equals(confirmPasswordBox.getText().toString())) 
+0

好吧,这样做,谢谢!但我需要帮助发送电子邮件:P – calmandniceperson

+0

@mkocs好吧现在就试试看看结果吧! –

+0

Session session = Session.getDefaultInstance(props,null); MimeMessage message = new MimeMessage(session); 两者都不起作用。那就是问题所在。我无法导入它们 – calmandniceperson