2121
2222/**
2323 * @module FrameworkMail
24- * @version 2.8.0
24+ * @version 2.9.4
2525 */
2626
2727'use strict' ;
@@ -248,7 +248,7 @@ Message.prototype.attachment = function(filename, name) {
248248 ! name && ( name = framework_utils . getName ( filename ) ) ;
249249 var extension = framework_utils . getExtension ( name ) ;
250250 ! this . files && ( this . files = [ ] ) ;
251- this . files . push ( { name : name , filename : filename , contentType : framework_utils . getContentType ( extension ) , extension : extension } ) ;
251+ this . files . push ( { name : name , filename : filename , type : framework_utils . getContentType ( extension ) , extension : extension } ) ;
252252 return this ;
253253} ;
254254
@@ -257,7 +257,7 @@ Message.prototype.attachment = function(filename, name) {
257257 * @return {Message }
258258 */
259259Message . prototype . manually = function ( ) {
260- this . $sending && clearTimeout ( this . $sending ) ;
260+ this . $sending && clearImmediate ( this . $sending ) ;
261261 return this ;
262262} ;
263263
@@ -276,7 +276,7 @@ Message.prototype.attachmentInline = function(filename, name, contentId) {
276276 ! name && ( name = framework_utils . getName ( filename ) ) ;
277277 ! this . files && ( this . files = [ ] ) ;
278278 var extension = framework_utils . getExtension ( name ) ;
279- this . files . push ( { name : name , filename : filename , contentType : framework_utils . getContentType ( extension ) , disposition : 'inline' , contentId : contentId , extension : extension } ) ;
279+ this . files . push ( { name : name , filename : filename , type : framework_utils . getContentType ( extension ) , disposition : 'inline' , contentId : contentId , extension : extension } ) ;
280280 return this ;
281281} ;
282282
@@ -353,6 +353,7 @@ Mailer.prototype.destroy = function(obj) {
353353} ;
354354
355355const ATTACHMENT_SO = { encoding : 'base64' } ;
356+
356357Mailer . prototype . $writeattachment = function ( obj ) {
357358
358359 var attachment = obj . files ? obj . files . shift ( ) : false ;
@@ -379,7 +380,7 @@ Mailer.prototype.$writeattachment = function(obj) {
379380 message . push ( 'Content-Disposition: attachment; filename="' + name + '"' ) ;
380381 }
381382
382- message . push ( 'Content-Type: ' + extension + ';' + ( isCalendar ? ' charset="utf-8"; method=REQUEST' : '' ) ) ;
383+ message . push ( 'Content-Type: ' + attachment . type + ';' + ( isCalendar ? ' charset="utf-8"; method=REQUEST' : '' ) ) ;
383384 message . push ( 'Content-Transfer-Encoding: base64' ) ;
384385 message . push ( CRLF ) ;
385386 mailer . $writeline ( obj , message . join ( CRLF ) ) ;
@@ -647,7 +648,6 @@ Mailer.prototype.$send = function(obj, options, autosend) {
647648 var socket = obj . socket2 ? obj . socket2 : obj . socket ;
648649 var host = obj . host ;
649650 var line = null ;
650-
651651 var isAttach = ! options . tls || ( obj . tls && options . tls ) ;
652652
653653 isAttach && mailer . $events . send && mailer . emit ( 'send' , obj ) ;
@@ -740,11 +740,11 @@ Mailer.prototype.$send = function(obj, options, autosend) {
740740 if ( obj . messages . length ) {
741741 mailer . $writemessage ( obj , buffer ) ;
742742 mailer . $writeline ( obj , buffer . shift ( ) ) ;
743- return ;
743+ } else {
744+ // end
745+ mailer . $writeline ( obj , 'QUIT' ) ;
744746 }
745747
746- // end
747- mailer . $writeline ( obj , 'QUIT' ) ;
748748 return ;
749749
750750 case 221 : // BYE
@@ -762,16 +762,16 @@ Mailer.prototype.$send = function(obj, options, autosend) {
762762 }
763763
764764 var value = auth . shift ( ) ;
765- if ( ! value ) {
765+ if ( value ) {
766+ mailer . $writeline ( obj , value ) ;
767+ } else {
766768 var err = new Error ( 'Forbidden.' ) ;
767769 mailer . destroy ( obj ) ;
768770 obj . callback && obj . callback ( err ) ;
769771 obj . callback = null ;
770772 mailer . $events . error && ! obj . try && mailer . emit ( 'error' , err , obj ) ;
771- return ;
772773 }
773774
774- mailer . $writeline ( obj , value ) ;
775775 return ;
776776
777777 case 354 :
@@ -796,12 +796,12 @@ Mailer.prototype.$send = function(obj, options, autosend) {
796796 buffer = [ ] ;
797797 obj . count -- ;
798798 socket . emit ( 'line' , '999 TRY NEXT MESSAGE' ) ;
799- return ;
799+ } else {
800+ mailer . destroy ( obj ) ;
801+ obj . callback && obj . callback ( err ) ;
802+ obj . callback = null ;
800803 }
801804
802- mailer . destroy ( obj ) ;
803- obj . callback && obj . callback ( err ) ;
804- obj . callback = null ;
805805 return ;
806806 }
807807 } ) ;
0 commit comments