cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Sending Email through code

SOLVED
Highlighted
Visitor

Sending Email through code

Hi,

I have been trying to send email through code.And I'm getting problem while adding

content text to my mail.If I run my code without adding message body, it works fine and I have

doubts on adding ResourceBundle files here.

I've created a simple class for that

RemoteMethodServer rms = RemoteMethodServer.getDefault();

GatewayAuthenticator auth = new GatewayAuthenticator();

auth.setRemoteUser("wcadmin");

rms.setAuthenticator(auth);

System.out.println("Connected to PDMLink!");

String userName="GT-User";

WTUser user;

QuerySpec qspec=new QuerySpec(WTUser.class);

qspec.appendWhere(new SearchCondition(WTUser.class,WTUser.NAME,SearchCondition.LIKE,userName),new int[]{0});

QueryResult qresult=PersistenceHelper.manager.find((StatementSpec)qspec);

while(qresult.hasMoreElements()){

user=(WTUser) qresult.nextElement();

System.out.println("User present in Windchill and his email id is--"+user.getEMail());

String userEmail=user.getEMail();

// TeamCommands.email(arg0);

Locale locale=new Locale("en", "US");

ResourceBundle labels=ResourceBundle.getBundle("ext.gt.test.MyResources",locale);

EMailMessage mail=EMailMessage.newEMailMessage();

mail.setSubject("For Windchill test");

mail.addRecipient(user);

mail.addPart("ext.gt.test.MyResources", labels.getString("Message"), null, "text/html");

EMailMessage.fetchUserFromEmailAddress(userName);

boolean ok=EMailMessage.isValidEmailAddress(userEmail);

// TeamCCHelper.service.emailMembers(null);

if(ok){

mail.send(true);

System.out.println("Email Queue got started.");

}

Following is the output which I got

Connected to PDMLink!

User present in Windchill and his email id -

EMailMessage message submission failed

EMailMessage Can't find resource for bundle ext.gt.test.MyResources, key This is

for test

EMailMessage subject: For Windchill test

EMailMessage not submitted to: -

Email Queue got started.

I'm using this http://myjavadoc.net/view/viewzip.php/7994267cff17717f230350bf9dba9d7f-com.infoengine.util__-javadoc... method from EMailMessage class to add content in text content in my mail.

Also I have placed my ResourceBundle class in package which I mentioned in code.In the output am getting the statement that I have given inside the

ResourceBundle class.

Can anybody tell me why this "EMailMessage Can't find resource for bundle ext.gt.test.MyResources, key This is

for test" is giving like this though I have ResourceBundle class in place?

Or Is there any other way to add text content to email using API?

Thanks,

1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted

Re: Sending Email through code

Problem solved.

I forgot to register/Compile resourcebundle classes with ant command.

Then I run the following command from windchill shell and it got solved.

ant -f bin/tools.xml bundle -Dbundle.input=ext.gt.test.*

View solution in original post

2 REPLIES 2
Highlighted

Re: Sending Email through code

Problem solved.

I forgot to register/Compile resourcebundle classes with ant command.

Then I run the following command from windchill shell and it got solved.

ant -f bin/tools.xml bundle -Dbundle.input=ext.gt.test.*

View solution in original post

Highlighted

Re: Sending Email through code

COuld you please provide the details on what are the entries required in the resource bundle file placed at "ext.gt.test" as mentioned in the mail thread.

Announcements