geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Andrushchak <us...@dekasoft.com.ua>
Subject Re: javamail
Date Wed, 01 Mar 2006 16:36:49 GMT
Vamsi,
Is this server 9.182.150.56 <http://9.182.150.56> up?
Is it possible to send mail throught it via standart mail client?

1. Try to set debug to your session.
        session.setDebug(true);
2. Try to use addRecipients instead of  setRecipients:
            ((MimeMessage) 
message).addRecipients(Message.RecipientType.TO, recipient);

Best regards,
Alex Andrushchak

Vamsavardhana Reddy wrote:

> Hi Alex,
>
> I am trying to send mail from a servlet.  Here is my geronimo-web.xml:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.1" 
> xmlns:nam="http://geronimo.apache.org/xml/ns/naming-1.1" 
> xmlns:sec="http://geronimo.apache.org/xml/ns/security-1.1" 
> xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.1" 
> configId="MailWebApp/MailWebApp">
>     <dependency>
>         <uri>geronimo/geronimo-mail/1.2-SNAPSHOT</uri>
>     </dependency>
>
>     <dependency>
>         <uri>geronimo/geronimo-javamail-transport/1.2-SNAPSHOT</uri>
>     </dependency>
>   <context-root>/MailWebApp</context-root>
>   <context-priority-classloader>false</context-priority-classloader>
>
>     <resource-ref>
>       <ref-name>mail/MailSession</ref-name>
>       <target-name>
>  geronimo.server:J2EEApplication=null,J2EEModule=MailWebApp/MailWebApp,J2EEServer=geronimo,j2eeType=JavaMailResource,name=MailSession
>       </target-name>
>     </resource-ref>
>    
>      <gbean name="MailSession" class="org.apache.geronimo.mail.MailGBean">
>         <attribute name="transportProtocol">smtp</attribute>
>          <attribute name="host">9.182.150.56 
> <http://9.182.150.56></attribute>
>         <attribute name="useDefault">false</attribute>
>         <attribute name="properties">
>         mail.debug=true
>         mail.from=c1vamsi1c@gmail.com 
> <mailto:mail.from=c1vamsi1c@gmail.com>
>         mail.smtp.port=25</attribute>  
>      </gbean>
> </web-app>
>
>
> Here are the imports and the doGet() method in my servlet.
>
> import javax.mail.Session;
> import javax.mail.Transport;
> import javax.mail.Message.RecipientType;
> import javax.mail.internet.InternetAddress;
> import javax.mail.internet.MimeMessage;
>
>
>     protected void doGet(HttpServletRequest request, 
> HttpServletResponse response) throws ServletException, IOException {
>       
>         response.setContentType("text/plain");
>        
>         PrintWriter out = response.getWriter();
>        
>         try {
>             InitialContext ic = new InitialContext();
>            
>             Session mailSession = (Session) 
> ic.lookup("java:comp/env/mail/MailSession");
>             mailSession.setDebug(true);
>             mailSession.setDebugOut(System.err);
>             out.println("session = "+mailSession);
>            
>             MimeMessage msg = new MimeMessage(mailSession);
>            
>             msg.setRecipients(RecipientType.TO, new InternetAddress[] 
> {new InternetAddress("c1vamsi1c@gmail.com 
> <mailto:c1vamsi1c@gmail.com>")});
>            
>             msg.setSubject("Mail sent by MailerServlet");
>            
>             msg.setText("Hello");
>            
>             msg.setFrom(InternetAddress.getLocalAddress(mailSession));
>              
>              Transport.send(msg);
>         } catch (Exception e) {
>             e.printStackTrace(out);
>         }
>     }                     
>
> When I access the servlet, I am getting the following Exception.
>
>java.lang.IllegalStateException: Not connected
>	at org.apache.geronimo.javamail.transport.smtp.SMTPTransport.sendMessage(SMTPTransport.java:356)
>	at javax.mail.Transport.send(Transport.java:80)
>	at javax.mail.Transport.send
>(Transport.java:46)
>	at mailwebapp.MailerServlet.doGet(MailerServlet.java:64)
>	at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
>	at javax.servlet.http.HttpServlet.service(HttpServlet.java:688)
>	at 
>org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>	at org.apache.catalina.core.StandardWrapperValve.invoke
>(StandardWrapperValve.java:213)
>	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>	at org.apache.geronimo.tomcat.valve.DefaultSubjectValve.invoke(DefaultSubjectValve.java:46)
>
>	at org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(GeronimoStandardContext.java:273)
>	at org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(GeronimoBeforeAfterValve.java:31)
>
>	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>	at org.apache.catalina.core.StandardEngineValve.invoke
>(StandardEngineValve.java:107)
>	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)
>	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>	at org.apache.coyote.http11.Http11Processor.process
>(Http11Processor.java:869)
>	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:667)
>	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java
>:527)
>	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
>	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>	at java.lang.Thread.run
>(Unknown Source)
>
>
> Any guesses on what I am doing differently?
>
> Thanks,
> Vamsi
>
> On 1/24/06, *Alex Andrushchak* <ustas@dekasoft.com.ua 
> <mailto:ustas@dekasoft.com.ua>> wrote:
>
>     Hi!
>
>     I have only application scope plan, but i think you can use it as
>     start point for create your server scope plan:
>
>     <application
>            xmlns="http://geronimo.apache.org/xml/ns/j2ee/application"
>     <http://geronimo.apache.org/xml/ns/j2ee/application>
>            configId="org/queryphone/Queryphone">
>
>         <dependency>
>             <uri>geronimo/geronimo-mail/1.0</uri>
>         </dependency>
>
>         <dependency>
>             <uri>geronimo/geronimo-javamail-transport/1.0</uri>
>         </dependency>
>
>         <gbean name="mail/MailSession"
>     class="org.apache.geronimo.mail.MailGBean">
>             <attribute name="transportProtocol">smtp</attribute>
>             <attribute name="useDefault">false</attribute>
>             <attribute name="host">192.168.1.2
>     <http://192.168.1.2></attribute>
>             <attribute name="properties">
>                 mail.debug=true
>                 mail.smtp.port=25
>                 mail.from=queryphone-geronimo@dekasoft.com.ua
>     <mailto:mail.from=queryphone-geronimo@dekasoft.com.ua>
>             </attribute>   
>         </gbean>
>
>     </application>
>
>
>     yskim@symcor.com <mailto:yskim@symcor.com> wrote:
>
>>Hello, could I have a good deployment plan XML file so that I can deploy
>>mail in the server scope.  I do not want to put the deployment part in
>>geronimo-application.xml.  I could find a sample deployment plan for
>>
>>javamail.
>>
>>Thanks,
>>
>>Young
>>
>>
>>
>>                                                                           
>>             "Jakob Færch                                                  
>>             (Trifork)"                                                    
>>
>>             <jrf@trifork.com> <mailto:jrf@trifork.com>              
                           To 
>>                                       
>>user@geronimo.apache.org <mailto:user@geronimo.apache.org>            
>>             20/01/2006 12:55                                           cc 
>>
>>             PM                                                            
>>                                                                   Subject 
>>                                       Re: javamail                        
>>
>>             Please respond to                                             
>>             user@geronimo.apa <mailto:user@geronimo.apa>
>>                                             
>>                  che.org <http://che.org>                                 
                
>>
>>                                                                           
>>                                                                           
>>                                                                           
>>
>>
>>
>>
>>
>>
>>
>>Alex Andrushchak wrote:
>>  
>>
>>>Ok, i've moved from dead point :-)
>>>
>>>    
>>>
>>Wonderful!
>>
>>  
>>
>>>Now i have another problem:
>>>Cannot send the message with MailerBean:java.lang.Exception: The message
>>>can not be send : Unable to locate provider for protocol: smtp
>>>    
>>>
>>The transport for smtp is located in the file
>>geronimo-1.0\repository\geronimo\jars\geronimo-javamail-transport-1.0.jar.
>>
>>By some odd mistake, it is not included in the tomcat distribution.
>>If you are using a jetty distribution, the jar file should be there all
>>
>>right in GERONIMO_INSTALL_DIR/repository/geronimo/jars.
>>If you are on a tomcat distribution, I _guess_ you would be fine
>>downloading the jetty distribution and manually copying the jar file
>>from the above directory in the jetty distribution to the same directory
>>
>>  in the tomcat distribution - anyone: feel free to correct me on this!
>>
>>In order to make the smtp transport available to your application, you
>>need to add the following dependency to the application's plan:
>>
>><dependency>
>>     <groupId>geronimo</groupId>
>>     <artifactId>geronimo-javamail-transport</artifactId>
>>     <version>1.0</version>
>></dependency>
>>
>>
>>  
>>
>>>My application configuration is:
>>>   <gbean name="protocol.smtp"
>>>class="org.apache.geronimo.mail.SMTPTransportGBean">
>>>       <attribute name="host">
>>>192.168.1.2 <http://192.168.1.2></attribute>
>>>       <attribute name="port">25</attribute>
>>>       <attribute
>>>name="from">
>>>queryphone-geronimo@dekasoft.com.ua <mailto:queryphone-geronimo@dekasoft.com.ua></attribute>
     </gbean>
>>>
>>>   <gbean name="mail/MailSession"
>>>class="org.apache.geronimo.mail.MailGBean">
>>>       <attribute name="transportProtocol">smtp</attribute>
>>>
>>>       <attribute name="useDefault">true</attribute>
>>>       <attribute name="properties">mail.debug=true</attribute>
>>><reference name="Protocols">
>>>           <name>
>>>protocol.smtp</name>
>>>       </reference>
>>>   </gbean>
>>>    
>>>
>>It's not (yet) entirely well documented how to set up the necessary
>>GBeans - to say the least.
>>It seems in the AdventureBuilder (which is able to send mail using the
>>smtp transport and javamail), the following GBean is sufficient:
>>
>>
>><gbean name="mail/MailSession" class="org.apache.geronimo.mail.MailGBean">
>>         <attribute name="host">${smtpHost}</attribute>
>>         <attribute name="properties">
>>
>>         mail.from=${smtpFrom}
>>         mail.smtp.port=${smtpPort}</attribute>
>></gbean>
>>
>>
>>Note that compared to you configuration, the smtp host and port is on
>>the MailGBean, not the SMTPTransportGBean. I guess things will work with
>>
>>the SMTPTransportGBean configured alongside the MailGBean, but my
>>experience was that the SMTPTransportGBean was not necessary - anyone:
>>correct me on this!
>>
>>Alex, I hope this helps you; please keep the list updated on your progress.
>>
>>
>>Jakob
>>
>>
>>
>>  
>>
>
>


Mime
View raw message