> > mike > > is it worth/ integrable in pharo? > > Stef > > Begin forwarded message: > >> From: [email protected] >> Date: December 4, 2009 7:19:29 PM GMT+01:00 >> To: [email protected], >> [email protected] >> Subject: [squeak-dev] The Trunk: Network-ar.42.mcz >> Reply-To: [email protected] >> >> Andreas Raab uploaded a new version of Network to project The Trunk: >> http://source.squeak.org/trunk/Network-ar.42.mcz >> >> ==================== Summary ==================== >> >> Name: Network-ar.42 >> Author: ar >> Time: 4 December 2009, 10:19:10 am >> UUID: bd7d181a-24b5-ac4c-a9a3-28a2b472d669 >> Ancestors: Network-ul.41 >> >> Fixes for SMTPClient: >> - http://bugs.squeak.org/view.php?id=6843 >> - http://bugs.squeak.org/view.php?id=6768 >> - Add an accessor for the localHostName in SMPTClient since Unix systems >> often return 'localhost.localdomain' or '0.0.0.0' from NetNameResolver >> localHostName which is not accepted by many MTAs. If client code knows the >> name from elsewhere (by means of configuration etc.) it can provide it >> explicitly. >> >> =============== Diff against Network-ul.41 =============== >> >> Item was changed: >> ----- Method: SMTPClient>>encodeString: (in category 'utility') ----- >> encodeString: aString >> + | str dec out | >> - | str dec | >> str := String new: (aString size * 4 / 3 + 3) ceiling. >> dec := Base64MimeConverter new. >> dec >> + mimeStream: (out := WriteStream on: str); >> - mimeStream: (WriteStream on: str); >> dataStream: (ReadStream on: aString); >> + multiLine: false; >> mimeEncode. >> + ^out contents! >> - ^ str! >> >> Item was added: >> + ----- Method: SMTPClient>>localHostName: (in category 'public protocol') >> ----- >> + localHostName: aString >> + "The local host name for purposes of identifying the the server. >> + If nil, NetNameResolver localHostName will be used." >> + >> + ^self connectionInfo at: #localHostName put: aString! >> >> Item was added: >> + ----- Method: SMTPClient>>localHostName (in category 'public protocol') >> ----- >> + localHostName >> + "The local host name for purposes of identifying the the server. >> + If nil, NetNameResolver localHostName will be used." >> + >> + ^self connectionInfo at: #localHostName ifAbsent: [NetNameResolver >> localHostName]! >> >> Item was added: >> + ----- Method: SMTPClient>>useHelo: (in category 'public protocol') ----- >> + useHelo: aBoolean >> + "Tell client to use HELO instead of EHLO. HELO is the old protocol and >> + an old server may require it instead of EHLO." >> + >> + ^self connectionInfo at: #useHelo put: aBoolean! >> >> Item was changed: >> ----- Method: SMTPClient>>login (in category 'private protocol') ----- >> login >> self user ifNil: [^self]. >> + self initiateSession. >> self sendCommand: 'AUTH LOGIN ' , (self encodeString: self user). >> [self checkResponse] >> on: TelnetProtocolError >> do: [ :ex | ex isCommandUnrecognized ifTrue: [^ self] ifFalse: >> [ex pass]]. >> self sendCommand: (self encodeString: self password). >> self checkResponse! >> >> Item was changed: >> ----- Method: SMTPClient>>initiateSession (in category 'private protocol') >> ----- >> initiateSession >> + "EHLO <SP> <domain> <CRLF>" >> - "HELO <SP> <domain> <CRLF>" >> >> + self sendCommand: (self useHelo ifTrue:['HELO '] ifFalse: ['EHLO ']) , >> self localHostName. >> - "self checkResponse." >> - self sendCommand: 'HELO ' , NetNameResolver localHostName. >> self checkResponse. >> ! >> >> Item was added: >> + ----- Method: SMTPClient>>useHelo (in category 'public protocol') ----- >> + useHelo >> + "If client use HELO instead of EHLO. HELO is the old protocol and >> + an old server may require it instead of EHLO." >> + >> + ^self connectionInfo at: #useHelo ifAbsent: [false]! >> >> Item was removed: >> - ----- Method: SMTPClient class>>openOnHost:port: (in category 'instance >> creation') ----- >> - openOnHost: hostIP port: portNumber >> - >> - | client | >> - client := super openOnHost: hostIP port: portNumber. >> - client initiateSession. >> - ^client! >> >> > > > >
_______________________________________________ Pharo-project mailing list [email protected] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
