MCSmtpRepository.st
author Claus Gittinger <cg@exept.de>
Sat, 20 Aug 2011 13:44:29 +0200
changeset 220 7ef561a05e48
parent 116 c1ae9aaf5d5b
child 327 36049dd8167c
permissions -rw-r--r--
added: #version_CVS
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
116
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/monticello' }"
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
MCWriteOnlyRepository subclass:#MCSmtpRepository
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:'email'
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
	classVariableNames:''
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	poolDictionaries:''
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	category:'Monticello-Repositories'
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
!
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
!MCSmtpRepository class methodsFor:'as yet unclassified'!
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
description
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
	^ 'SMTP'
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
!
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
morphicConfigure
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	| address |
220
7ef561a05e48 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 116
diff changeset
    19
	address := UIManager default request: 'Email address:' translated.
116
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
	^ address isEmpty ifFalse: [self new emailAddress: address]
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
! !
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
!MCSmtpRepository methodsFor:'as yet unclassified'!
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
basicStoreVersion: aVersion
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
	MailSender sendMessage: (self messageForVersion: aVersion)
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
!
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
bodyForVersion: aVersion
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
	^ String streamContents:
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
		[ :s |
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
		s nextPutAll: 'from version info:'; cr; cr.
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
		s nextPutAll:  aVersion info summary]
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
!
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
description
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
	^ 'mailto://', email
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
!
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
emailAddress: aString
220
7ef561a05e48 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 116
diff changeset
    41
	email := aString	
116
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
!
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
messageForVersion: aVersion
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
	| message data |
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
	message := MailMessage empty.
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
	message setField: 'from' toString: MailSender userName.
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
	message setField: 'to' toString: email.
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
	message setField: 'subject' toString: (self subjectForVersion: aVersion). 
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
	message body:
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
		(MIMEDocument
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
			contentType: 'text/plain'
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
			content: (self bodyForVersion: aVersion)).
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
	"Prepare the gzipped data"
220
7ef561a05e48 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 116
diff changeset
    57
	data := RWBinaryOrTextStream on: String new.
116
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
	aVersion fileOutOn: data.
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
	message addAttachmentFrom: data reset withName: aVersion fileName.
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
	^ message
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
!
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
subjectForVersion: aVersion
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
	^ '[Package] ', aVersion info name
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
! !
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
!MCSmtpRepository class methodsFor:'documentation'!
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
version
220
7ef561a05e48 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 116
diff changeset
    70
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCSmtpRepository.st,v 1.2 2011-08-20 11:44:29 cg Exp $'
7ef561a05e48 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 116
diff changeset
    71
!
7ef561a05e48 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 116
diff changeset
    72
7ef561a05e48 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 116
diff changeset
    73
version_CVS
7ef561a05e48 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 116
diff changeset
    74
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCSmtpRepository.st,v 1.2 2011-08-20 11:44:29 cg Exp $'
7ef561a05e48 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 116
diff changeset
    75
!
7ef561a05e48 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 116
diff changeset
    76
7ef561a05e48 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 116
diff changeset
    77
version_SVN
7ef561a05e48 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 116
diff changeset
    78
    ^ '§Id: MCSmtpRepository.st 5 2010-08-29 07:30:29Z vranyj1 §'
116
c1ae9aaf5d5b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
! !