2012-07-20 52 views
0

我正在开发一个应用程序,我需要从我的应用程序发送电子邮件。我想在我的应用中点击按钮时发送电子邮件。我执行了由黑莓“blackberrymaildemo”给出的示例代码,但是电子邮件没有从设备&发送,也没有得到任何错误或异常。我执行了以下 Blackberry - How to send email using RIM API Tutorial,但不知道在启动应用程序后代码是如何运行的,因为只有空白屏幕&不知道如何通过以下代码发送电子邮件。如何在Blackberry中发送电子邮件?

代码:

package mypackage; 

    import net.rim.device.api.ui.component.ButtonField; 
    import net.rim.device.api.ui.container.MainScreen; 
    import net.rim.blackberry.api.mail.Address; 
    import net.rim.blackberry.api.mail.Folder; 
    import net.rim.blackberry.api.mail.Message; 
    import net.rim.blackberry.api.mail.MessagingException; 
    import net.rim.blackberry.api.mail.Session; 
    import net.rim.blackberry.api.mail.Store; 
    import net.rim.blackberry.api.mail.Transport; 


public final class MyScreen extends MainScreen 
{ 
/** 
* Creates a new MyScreen object 
*/ 
public MyScreen() 
{   
    // Set the displayed title of the screen  
    setTitle("MyTitle"); 
    ButtonField btn = new ButtonField(); 
    btn.setLabel("Button Click"); 
    add(btn); 

    try 
    { 
    Session session=Session.getDefaultInstance(); 
    Store store=session.getStore(); 

    Folder[] folders_list =store.list(Folder.SENT); 
    Folder folder_sent = folders_list[0]; 

    Message message=new Message(folder_sent); 

    message.setSubject("This is Test message"); 


    message.setContent("hi! this is test email from BB"); 


    Address recs[] = new Address[2]; 
    recs[0] = new Address("[email protected]", "raghu b"); 
    recs[1] = new Address("[email protected]", "b raghu"); 

    message.addRecipients(Message.RecipientType.TO, recs); 


    Transport.send(message); 

    }catch (MessagingException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 


    } 
} 

由于我是新来这个黑莓的发展,我无法得到发送电子邮件的代码。任何人都可以帮助我这个。

当被点击通过电子邮件按钮份额则需要调用电子邮件的代码和我的另一个疑问是,我们可以发送电子邮件或短信从BlackBerry模拟器到另一个BlackBerry模拟器/设备......?

在此先感谢..........

回答

3

试试这个代码 -

Address recipients[] = new Address[1]; 
Store store = Session.getDefaultInstance().getStore(); 
Folder[] folders = store.list(Folder.SENT); 
Folder sentfolder = folders[0]; 
Message msg = new Message(sentfolder); 

try 
    { 
     recipients[0]= new Address("Email id","Name"); 
     //add the recipient list to the message 
     msg.addRecipients(Message.RecipientType.TO, recipients); 
     /set a subject for the message 
     msg.setSubject("Test email"); 
     //sets the body of the message 
     msg.setContent("123456789---------------"); 
     //sets priority 
     msg.setPriority(Message.Priority.HIGH); 
     //send the message 
     Transport.send(msg); 
     } 

     catch (Exception me) 
     { 

     System.err.print(me); 
     } 
+2

您必须配置电子邮件在设备中。它不适用于模拟器。 – Signare 2012-07-20 12:39:28

+0

感谢您的代码singnare,但这是我在上面发布的应用中创建的相同代码。无论如何,再次感谢代码&正如你所说的“你必须在你的设备中配置电子邮件,它不适用于模拟器。”如何在我们的设备中配置电子邮件....? – 2012-07-20 12:44:56

+0

根据你的代码,我还有一个疑问。当用户在他的设备中使用我的应用时,是否可以在运行时通过用户在主体中添加一些文本并发送该电子邮件....? – 2012-07-20 12:47:23