Changeset 269
- Timestamp:
- 12/25/07 23:46:40 (1 year ago)
- Files:
-
- trunk/webobjects/JRMailDelivery/JRMailDelivery.java (modified) (9 diffs)
- trunk/webobjects/JRMailDelivery/JRMailDelivery.pbproj (deleted)
- trunk/webobjects/JRMailDelivery/PlainTextEmail.java (modified) (2 diffs)
- trunk/webobjects/JRMailDelivery/activation.jar (deleted)
- trunk/webobjects/JRMailDelivery/demo (added)
- trunk/webobjects/JRMailDelivery/demo/Application.java (added)
- trunk/webobjects/JRMailDelivery/demo/DirectAction.java (added)
- trunk/webobjects/JRMailDelivery/demo/JRMailDeliveryDemo.xcodeproj (added)
- trunk/webobjects/JRMailDelivery/demo/JRMailDeliveryDemo.xcodeproj/default.pbxuser (added)
- trunk/webobjects/JRMailDelivery/demo/JRMailDeliveryDemo.xcodeproj/project.pbxproj (added)
- trunk/webobjects/JRMailDelivery/demo/JRMailDeliveryDemo.xcodeproj/wolf.mode1 (added)
- trunk/webobjects/JRMailDelivery/demo/JRMailDeliveryDemo.xcodeproj/wolf.pbxuser (added)
- trunk/webobjects/JRMailDelivery/demo/Main.api (added)
- trunk/webobjects/JRMailDelivery/demo/Main.java (added)
- trunk/webobjects/JRMailDelivery/demo/Main.wo (added)
- trunk/webobjects/JRMailDelivery/demo/Main.wo/Main.html (added)
- trunk/webobjects/JRMailDelivery/demo/Main.wo/Main.wod (added)
- trunk/webobjects/JRMailDelivery/demo/Main.wo/Main.woo (added)
- trunk/webobjects/JRMailDelivery/demo/MyPlainTextEmail.api (added)
- trunk/webobjects/JRMailDelivery/demo/MyPlainTextEmail.java (added)
- trunk/webobjects/JRMailDelivery/demo/MyPlainTextEmail.wo (added)
- trunk/webobjects/JRMailDelivery/demo/MyPlainTextEmail.wo/MyPlainTextEmail.html (added)
- trunk/webobjects/JRMailDelivery/demo/MyPlainTextEmail.wo/MyPlainTextEmail.wod (added)
- trunk/webobjects/JRMailDelivery/demo/MyPlainTextEmail.wo/MyPlainTextEmail.woo (added)
- trunk/webobjects/JRMailDelivery/demo/Properties (added)
- trunk/webobjects/JRMailDelivery/demo/Session.java (added)
- trunk/webobjects/JRMailDelivery/demo/WOAfile.icns (added)
- trunk/webobjects/JRMailDelivery/demo/log4j.xml (added)
- trunk/webobjects/JRMailDelivery/install these (added)
- trunk/webobjects/JRMailDelivery/install these/activation.jar (added)
- trunk/webobjects/JRMailDelivery/install these/mail.jar (added)
- trunk/webobjects/JRMailDelivery/jaf1_0_1.zip (deleted)
- trunk/webobjects/JRMailDelivery/javamail-1_2.zip (deleted)
- trunk/webobjects/JRMailDelivery/mail.jar (deleted)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/webobjects/JRMailDelivery/JRMailDelivery.java
r34 r269 1 / / JRMailDelivery.java2 // 3 // Copyright (c) 2002 Red Shed Software. All rights reserved. 4 // by Jonathan 'Wolf' Rentzsch (jon at redshed dot net) 5 // 6 // Tue Mar 19 2002 wolf: Created. 1 /******************************************************************************* 2 JRMailDelivery.java 3 Copyright (c) 2002-2007 Jonathan 'Wolf' Rentzsch: <http://rentzsch.com> 4 Some rights reserved: <http://opensource.org/licenses/mit-license.php> 5 6 ***************************************************************************/ 7 7 8 8 import com.webobjects.foundation.*; … … 31 31 JRMailDelivery() { 32 32 Properties properties = new Properties(); 33 JAssert.notEmpty( WOApplication.application().SMTPHost() ); 34 properties.put( "mail.smtp.host", WOApplication.application().SMTPHost() ); 35 _session = javax.mail.Session.getDefaultInstance( properties ); 36 properties = null; 33 //;JAssert.notEmpty( WOApplication.application().SMTPHost() ); 34 if (NSProperties.getProperty("WOSMTPPassword") != null) { 35 properties.put( "mail.smtp.auth", "true" ); 36 } 37 _session = javax.mail.Session.getDefaultInstance( properties ); 38 //_session.setDebug(true); 37 39 } 38 40 … … 47 49 boolean sendNow ) 48 50 { 49 JAssert.notEmpty( fromEmailAddress );50 JAssert.notNull( toEmailAddresses );51 JAssert.greaterThan( toEmailAddresses.count(), 0 );52 JAssert.notEmpty( message );53 54 JAssert.notNull( _session );51 //;JAssert.notEmpty( fromEmailAddress ); 52 //;JAssert.notNull( toEmailAddresses ); 53 //;JAssert.greaterThan( toEmailAddresses.count(), 0 ); 54 //;JAssert.notEmpty( message ); 55 56 //;JAssert.notNull( _session ); 55 57 56 58 MimeMessage smtpMessage = newMimeMessage( fromEmailAddress, toEmailAddresses, bccEmailAddresses, subject, message, "text/plain", sendNow ); 57 58 return mimeMessageToString( smtpMessage ); 59 return mimeMessageToString( smtpMessage ); 59 60 } 60 61 … … 69 70 boolean sendNow ) 70 71 { 71 JAssert.notEmpty( fromEmailAddress );72 JAssert.notNull( toEmailAddresses );73 JAssert.greaterThan( toEmailAddresses.count(), 0 );74 JAssert.notNull( component );75 JAssert.notNull( component.context() );76 77 JAssert.notNull( _session );72 //;JAssert.notEmpty( fromEmailAddress ); 73 //;JAssert.notNull( toEmailAddresses ); 74 //;JAssert.greaterThan( toEmailAddresses.count(), 0 ); 75 //;JAssert.notNull( component ); 76 //;JAssert.notNull( component.context() ); 77 78 //;JAssert.notNull( _session ); 78 79 79 80 WOSession session = component.context()._session(); … … 94 95 95 96 MimeMessage smtpMessage = newMimeMessage( fromEmailAddress, toEmailAddresses, bccEmailAddresses, subject, response, "text/html", sendNow ); 96 97 return mimeMessageToString( smtpMessage ); 97 return mimeMessageToString( smtpMessage ); 98 } 99 100 public 101 String 102 composePlainTextComponentEmail( 103 String fromEmailAddress, 104 NSArray toEmailAddresses, 105 NSArray bccEmailAddresses, 106 String subject, 107 WOComponent component, 108 boolean sendNow ) 109 { 110 //;JAssert.notEmpty( fromEmailAddress ); 111 //;JAssert.notNull( toEmailAddresses ); 112 //;JAssert.greaterThan( toEmailAddresses.count(), 0 ); 113 //;JAssert.notNull( component ); 114 //;JAssert.notNull( component.context() ); 115 116 //;JAssert.notNull( _session ); 117 118 WOSession session = component.context()._session(); 119 String response; 120 121 component.context()._generateCompleteURLs(); 122 if( session == null ) { 123 response = component.generateResponse().contentString(); 124 } else { 125 boolean oldStoresIDsInURLs = session.storesIDsInURLs(); 126 session.setStoresIDsInURLs( true ); 127 response = component.generateResponse().contentString(); 128 session.setStoresIDsInURLs( oldStoresIDsInURLs ); 129 } 130 component.context()._generateRelativeURLs(); 131 132 //-- 133 134 MimeMessage smtpMessage = newMimeMessage( fromEmailAddress, toEmailAddresses, bccEmailAddresses, subject, response, "text/plain", sendNow ); 135 return mimeMessageToString( smtpMessage ); 98 136 } 99 137 … … 101 139 void 102 140 sendEmail( String mailString ) { 103 JAssert.notEmpty( mailString );104 JAssert.notNull( _session );141 //;JAssert.notEmpty( mailString ); 142 //;JAssert.notNull( _session ); 105 143 106 144 ByteArrayInputStream bais = new ByteArrayInputStream( mailString.getBytes() ); … … 137 175 boolean sendNow ) 138 176 { 139 JAssert.notEmpty( fromEmailAddress );140 JAssert.notNull( toEmailAddresses );141 JAssert.greaterThan( toEmailAddresses.count(), 0 );142 JAssert.notEmpty( message );143 JAssert.notEmpty( contentType );144 145 JAssert.notNull( _session );177 //;JAssert.notEmpty( fromEmailAddress ); 178 //;JAssert.notNull( toEmailAddresses ); 179 //;JAssert.greaterThan( toEmailAddresses.count(), 0 ); 180 //;JAssert.notEmpty( message ); 181 //;JAssert.notEmpty( contentType ); 182 183 //;JAssert.notNull( _session ); 146 184 147 185 MimeMessage smtpMessage = null; … … 181 219 String 182 220 mimeMessageToString( MimeMessage smtpMessage ) { 183 JAssert.notNull( smtpMessage );221 //;JAssert.notNull( smtpMessage ); 184 222 185 223 String result = null; … … 204 242 public void run() { 205 243 try { 206 Transport.send( _smtpMessage ); 244 Transport tr = JRMailDelivery.sharedInstance()._session.getTransport("smtp"); 245 tr.connect(NSProperties.getProperty("WOSMTPHost"), 246 NSProperties.getProperty("WOSMTPAccount"), 247 NSProperties.getProperty("WOSMTPPassword")); 248 _smtpMessage.saveChanges(); 249 tr.sendMessage(_smtpMessage, _smtpMessage.getAllRecipients()); 250 tr.close(); 207 251 } catch( javax.mail.MessagingException x ) { 208 252 JRMailDelivery.log.error( x ); trunk/webobjects/JRMailDelivery/PlainTextEmail.java
r34 r269 23 23 } 24 24 25 26 27 28 25 protected void sendComponentEmail( String fromEmailAddress, String toEmailAddress, String subject, WOComponent component, boolean sendNow ) { 29 26 NSData contentData = generateResponse().content(); … … 32 29 JRMailDelivery.sharedInstance().composeComponentEmail( fromEmailAddress, new NSArray( toEmailAddress ), null, subject, component, true ); 33 30 } 34 35 36 31 }
