Email via an SMTP server which needs authentication

JSC bundles codes for emailing via an SMTP server which does not need authentication. But, can I get codes for emailing via an SMTP server which needs authentication?Thank you very much.
[200 byte] By [MISS_DUKE] at [2007-11-26 9:35:33]
# 1
I'd recommend the following free, open source library from Apache. It's powerful and simple to use. http://jakarta.apache.org/commons/email/
Tosa_Developer at 2007-7-7 0:26:30 > top of Java-index,Development Tools,Java Tools...
# 2

The following may also help:

http://java.sun.com/products/javamail/FAQ.html#connectsend

Q: I need to authenticate to my SMTP server so I call trans.connect(host, user, password) and then trans.send(msg) to send the message, but it's not working.

A: You should call trans.sendMessage(msg, addrs) to send the message. As described above, the send method is a static convenience method that acquires its own Transport object and creates its own connection to use for sending; it does not use the connection associated with any Transport object through which it is invoked. And of course don't forget to set the mail.smtp.auth property to true to enable SMTP authentication!

KarthikR at 2007-7-7 0:26:30 > top of Java-index,Development Tools,Java Tools...
# 3

> I'd recommend the following free, open source library

> from Apache. It's powerful and simple to use.

>

> http://jakarta.apache.org/commons/email/

I get the following exception when I use Apache commons. This occurs in both circumstances when SMTP authentication is needed or not.

java.security.AccessControlException: access denied (java.util.PropertyPermission * read,write)

at java.security.AccessControlContext.checkPermission(AccessControlContext.java:26 4)

at java.security.AccessController.checkPermission(AccessController.java:427)

at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)

at java.lang.SecurityManager.checkPropertiesAccess(SecurityManager.java:1252)

at java.lang.System.getProperties(System.java:560)

at org.apache.commons.mail.Email.getMailSession(Email.java:355)

at org.apache.commons.mail.Email.buildMimeMessage(Email.java:748)

at org.apache.commons.mail.Email.send(Email.java:897)

at manamakal.test.ApacheEmailTest.button1_action(ApacheEmailTest.java:234)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.ja va:25)

at java.lang.reflect.Method.invoke(Method.java:585)

at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:126)

at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.j ava:72)

at com.sun.rave.web.ui.appbase.faces.ActionListenerImpl.processAction(ActionListen erImpl.java:57)

at javax.faces.component.UICommand.broadcast(UICommand.java:312)

at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:267)

at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:381)

at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.j ava:75)

at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:221)

at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)

at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.ja va:25)

at java.lang.reflect.Method.invoke(Method.java:585)

at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:249)

at java.security.AccessController.doPrivileged(Native Method)

at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)

at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:282)

at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFil terChain.java:257)

at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterCha in.java:55)

at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.ja va:161)

at java.security.AccessController.doPrivileged(Native Method)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain .java:157)

at com.sun.rave.web.ui.util.UploadFilter.doFilter(UploadFilter.java:194)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFil terChain.java:210)

at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterCha in.java:55)

at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.ja va:161)

at java.security.AccessController.doPrivileged(Native Method)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain .java:157)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java: 263)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)

at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextVal ve.java:225)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java: 173)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:13 2)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)

at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:933)

at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:189)

at com.sun.enterprise.web.connector.grizzly.ProcessorTask.doProcess(ProcessorTask. java:604)

at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.ja va:475)

at com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask .java:371)

at com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:264)

at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:281)

at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:83)

|#]

Any further help is very much appreciated.

MISS_DUKE at 2007-7-7 0:26:30 > top of Java-index,Development Tools,Java Tools...
# 4
The error message seems to indicate that Apache Commons needs to modify system properties and does not find the permission to do so.Can u try adding ' permission java.util.PropertyPermission "*", "read,write";' to server.xml file?
KarthikR at 2007-7-7 0:26:30 > top of Java-index,Development Tools,Java Tools...
# 5
Actually the changes should be made to server.policy file. The file should be in <creator-dir>/SunAppServer8/domains/creator/config/server.policy.
KarthikR at 2007-7-7 0:26:30 > top of Java-index,Development Tools,Java Tools...