Afsending af mail fra JSP side i Tomcat
HejsaJeg kan ikke rigtig sende mails gennem Tomcat. Jeg syntes ellers, at jeg har tilrettet server.xml, web.xml og koden til som det foreskrives på Apaches hjemmeside. Der er ingen fejl at finde i loggen, så jeg håber at nogen kan se, hvad der kunne være galt. Jeg har forsøgt at slå firewallen fra på pc'en, men det hjalp desværre ikke.
***************mailmetoden i UserBean.java********************
private void sendAdgangskode(String adgangskoden) throws Exception
{
if (postafsender==null) postafsender = "min@adresse.dk";
if (postserver==null) postserver = "smtp.mail.dk";
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
Session session = (Session) envCtx.lookup("mail/Session");
// Opbyg beskedden
Message besked = new MimeMessage(session);
besked.setFrom(new InternetAddress(postafsender));
besked.setRecipient(Message.RecipientType.TO, new InternetAddress(epost));
besked.setSubject("Din adgangskode");
String txt = "Din adgangskode er: "+adgangskoden+"\n"
+ "Du kan også logge ind ved at klikke på nedenstående henvisning:\n"
+ "http://localhost/adminomraade?brugernavn="
+ java.net.URLEncoder.encode(brugernavn,"UTF-8")+"&adgangskode="
+ java.net.URLEncoder.encode(adgangskoden,"UTF-8")+"&handling=log+ind";
besked.setContent(txt, "text/plain"); // put beskedden ind
System.out.println(txt); // skriv også beskedden i serverens log
Transport.send(besked); // send beskedden
meddelelse = "Adgangskoden er sendt til adressen "+ epost;
}
***************/mailmetoden********************
***************/web.xml********************
<?xml version = '1.0' encoding = 'windows-1252'?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<description>Empty web.xml file for Web Application</description>
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<mime-mapping>
<extension>html</extension>
<mime-type>text/html</mime-type>
</mime-mapping>
<mime-mapping>
<extension>txt</extension>
<mime-type>text/plain</mime-type>
</mime-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<security-constraint>
<web-resource-collection>
<web-resource-name>User</web-resource-name>
<url-pattern>/user/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>user</role-name>
</auth-constraint>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>Admin</web-resource-name>
<url-pattern>/admin/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>SuperAdmin</web-resource-name>
<url-pattern>/superadmin/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>superadmin</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/loginError.jsp</form-error-page>
</form-login-config>
</login-config>
<resource-ref>
<description>
Resource reference to a factory for javax.mail.Session
instances that may be used for sending electronic mail
messages, preconfigured to connect to the appropriate
SMTP server.
</description>
<res-ref-name>
mail/Session
</res-ref-name>
<res-type>
javax.mail.Session
</res-type>
<res-auth>
Container
</res-auth>
</resource-ref>
</web-app>
***************/web.xml********************
***************server.xml********************
<?xml version='1.0' encoding='utf-8'?>
<Server>
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"/>
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
<GlobalNamingResources>
<Environment name="simpleValue" type="java.lang.Integer" value="30"/>
<Resource auth="Container" description="User database that can be updated and saved" name="UserDatabase" type="org.apache.catalina.UserDatabase"/>
<ResourceParams name="UserDatabase">
<parameter>
<name>factory</name>
<value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
</parameter>
<parameter>
<name>pathname</name>
<value>conf/tomcat-users.xml</value>
</parameter>
</ResourceParams>
</GlobalNamingResources>
<Service name="Catalina">
<Connector acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" port="80" redirectPort="8443">
</Connector>
<Connector port="8009" protocol="AJP/1.3" protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler" redirectPort="8443">
</Connector>
<Engine defaultHost="localhost" name="Catalina">
<Host appBase="webapps" name="localhost">
<Realm className="org.apache.catalina.realm.JDBCRealm" debug="99"
driverName="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost/Vindmolle"
connectionName="XXX" connectionPassword="XXX"
userTable="Tomcat_users" userNameCol="username" userCredCol="password"
userRoleTable="Tomcat_roles" roleNameCol="role"
/>
<DefaultContext>
<Resource name="jdbc/Vindmolle" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/Vindmolle">
<parameter>
<name>driverClassName</name>
<value>com.mysql.jdbc.Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:mysql://localhost/Vindmolle</value>
</parameter>
<parameter>
<name>username</name>
<value>XXX</value>
</parameter>
<parameter>
<name>password</name>
<value>XXX</value></parameter>
<parameter>
<name>maxActive</name>
<value>20</value></parameter>
<parameter>
<name>maxIdle</name>
<value>30000</value></parameter>
<parameter>
<name>maxWait</name>
<value>100</value>
</parameter>
</ResourceParams>
<Resource name="mail/Session" auth="Container"
type="javax.mail.Session"/>
<ResourceParams name="mail/Session">
<parameter>
<name>mail.smtp.host</name>
<value>smtp.mail.dk</value>
</parameter>
</ResourceParams>
</DefaultContext>
<Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_log." suffix=".txt" timestamp="true"/>
</Host>
<Logger className="org.apache.catalina.logger.FileLogger" prefix="catalina_log." suffix=".txt" timestamp="true"/>
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"/>
</Engine>
</Service>
</Server>
***************/server.xml********************
