HTML Mail Designer for use in Smalltalk application

J
jtuchel@objektfabrik.de
Tue, Oct 11, 2016 2:15 PM

Hi,

please excuse my posting to this list although my question is very
generic and not very closely related to Smalltalk. But since here are a
few people around who use Seaside and related web technologies in
Smalltalk, I thought this question may be of interest to the group.

Our web application (Seaside based, to at least justify my abuse of this
group a tiny bit) sends out mails to registered users at certain events.
We currently have some HTML-Strings that are concatenated into mail
messages, by simply streaming the headers, an empty line and the html
contents of a mail message. Of course we fill in individual information
like the name of the recipient, amounts etc. individually for our mail
recipients.

I am looking for an application that allows to me visually design such
an HTML (and alternative text) message and export the result as a simple
ASCII file that can be used to

  1. Use a simple text editor (or workspace) to add variables (like %1, %2
    etc. for bindWith:with: etc, or Mustache or whatever)

  2. Read from a FileStream and fill in the variables and concatenate the
    ready made message into a String that can be sent out via SMTP

I've tried MailDesigner Pro on Mac, but this doesn't embed pictures
inline into the exported file. It puts images onto some cloud location
and adds links to them. This is not what I have in mind. I want the
images to be inline in the message as attachment.

I hope I've described exactly enough what I need and that you guys have
any tips what I could use. I don't care if it runs on Windows, Mac or
Linux, and it can be a reasonably priced commercial product if it does
what I need.

Maybe you don't have an answer but have an idea where I could ask.

Thanks,

Joachim

--

Objektfabrik Joachim Tuchel          mailto:jtuchel@objektfabrik.de
Fliederweg 1                        http://www.objektfabrik.de
D-71640 Ludwigsburg                  http://joachimtuchel.wordpress.com
Telefon: +49 7141 56 10 86 0        Fax: +49 7141 56 10 86 1

Hi, please excuse my posting to this list although my question is very generic and not very closely related to Smalltalk. But since here are a few people around who use Seaside and related web technologies in Smalltalk, I thought this question may be of interest to the group. Our web application (Seaside based, to at least justify my abuse of this group a tiny bit) sends out mails to registered users at certain events. We currently have some HTML-Strings that are concatenated into mail messages, by simply streaming the headers, an empty line and the html contents of a mail message. Of course we fill in individual information like the name of the recipient, amounts etc. individually for our mail recipients. I am looking for an application that allows to me visually design such an HTML (and alternative text) message and export the result as a simple ASCII file that can be used to 1. Use a simple text editor (or workspace) to add variables (like %1, %2 etc. for bindWith:with: etc, or Mustache or whatever) 2. Read from a FileStream and fill in the variables and concatenate the ready made message into a String that can be sent out via SMTP I've tried MailDesigner Pro on Mac, but this doesn't embed pictures inline into the exported file. It puts images onto some cloud location and adds links to them. This is not what I have in mind. I want the images to be inline in the message as attachment. I hope I've described exactly enough what I need and that you guys have any tips what I could use. I don't care if it runs on Windows, Mac or Linux, and it can be a reasonably priced commercial product if it does what I need. Maybe you don't have an answer but have an idea where I could ask. Thanks, Joachim -- ----------------------------------------------------------------------- Objektfabrik Joachim Tuchel mailto:jtuchel@objektfabrik.de Fliederweg 1 http://www.objektfabrik.de D-71640 Ludwigsburg http://joachimtuchel.wordpress.com Telefon: +49 7141 56 10 86 0 Fax: +49 7141 56 10 86 1
MM
Maarten Mostert
Tue, Oct 11, 2016 2:28 PM

Hi,

I Use MailStyler its Windows only but does a good job in virtual box.

Enclosed is the method I use to crypt the link and how I replace text under buttons and in the text.

Notice that I request the original document from my server which is easier to get things compliant.

Hope this helps,

This AppeX and VW of course  (what else).

Maarten MOSTERT

28 Av Alphonse Denis
83400 Hyères, France
+33 676411296
http://stakepoint.com/ http://stakepoint.com/

sendRequestSignUpMail: aNewUser license: aConf languages: langSTR

| aMessage smtpClient stream bos aByteArray cryptedMail httpClient request response messContents aLinkAccept aName byMailChimp |
stream := WriteStream on: ByteArray new.
bos := BinaryObjectStorage onNew: stream.
bos nextPut: aNewUser email.
bos nextPut: aNewUser passwd.
bos nextPut: Date today.
bos close.
aByteArray := stream contents.
cryptedMail := Crypter new cryptEmail: aByteArray.
DeploymentOptionsSystem isRuntime
	ifTrue: 
		[aLinkAccept := 'http://159.8.120.108/Interpret/confirm' , cryptedMail]
	ifFalse: 
		[aLinkAccept := 'http://localhost:8889/Interpret/confirm' , cryptedMail].
httpClient := Net.HttpClient new.
httpClient timeout: 2000.
request := Net.HttpRequest
			get: 'http://stakepoint.com/headvox/HeadVoxSignUp.htm'.
response := [httpClient executeRequest: request] on: Error
			do: [:exc | Transcript show: 'You missed it !'].
 
response
	ifNotNil: 
		[messContents := response value byteSource contents asByteString.
		messContents := messContents copyReplaceAll: 'text/html; charset=utf-8'
					with: 'utf-8'.
		aNewUser firstName
			ifNil: 
				[aNewUser lastName
					ifNil: [aName := 'Interpreter,']
					ifNotNil: [aName := 'Mr/MS ' , aNewUser lastName]]
			ifNotNil: [aName := aNewUser firstName].
		messContents := messContents copyReplaceAll: 'XXXXXX' with: aName.
		messContents := messContents copyReplaceAll: 'http://confirmsigningup'
					with: aLinkAccept.
		messContents := messContents copyReplaceAll: 'YYYYYYYYYYYY'
					with: aNewUser email.
		aMessage := Net.MailMessage newTextHTML.
		aMessage contents: messContents.

		aMessage to: aNewUser email.
		aMessage cc: (List with: 'maarten.mostert@stakepoint.com').	 
		aMessage from: '"HeadVox" <p.tecchio@headvox.com>'.
		aMessage
			subject: 'HeadVox Sign-Up Confirmation'.

Le 11 oct. 2016 à 16:15, jtuchel@objektfabrik.de a écrit :

Hi,

please excuse my posting to this list although my question is very generic and not very closely related to Smalltalk. But since here are a few people around who use Seaside and related web technologies in Smalltalk, I thought this question may be of interest to the group.

Our web application (Seaside based, to at least justify my abuse of this group a tiny bit) sends out mails to registered users at certain events. We currently have some HTML-Strings that are concatenated into mail messages, by simply streaming the headers, an empty line and the html contents of a mail message. Of course we fill in individual information like the name of the recipient, amounts etc. individually for our mail recipients.

I am looking for an application that allows to me visually design such an HTML (and alternative text) message and export the result as a simple ASCII file that can be used to

  1. Use a simple text editor (or workspace) to add variables (like %1, %2 etc. for bindWith:with: etc, or Mustache or whatever)

  2. Read from a FileStream and fill in the variables and concatenate the ready made message into a String that can be sent out via SMTP

I've tried MailDesigner Pro on Mac, but this doesn't embed pictures inline into the exported file. It puts images onto some cloud location and adds links to them. This is not what I have in mind. I want the images to be inline in the message as attachment.

I hope I've described exactly enough what I need and that you guys have any tips what I could use. I don't care if it runs on Windows, Mac or Linux, and it can be a reasonably priced commercial product if it does what I need.

Maybe you don't have an answer but have an idea where I could ask.

Thanks,

Joachim

--

Objektfabrik Joachim Tuchel          mailto:jtuchel@objektfabrik.de
Fliederweg 1                        http://www.objektfabrik.de
D-71640 Ludwigsburg                  http://joachimtuchel.wordpress.com
Telefon: +49 7141 56 10 86 0        Fax: +49 7141 56 10 86 1


Esug-list mailing list
Esug-list@lists.esug.org
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org

Hi, I Use MailStyler its Windows only but does a good job in virtual box. Enclosed is the method I use to crypt the link and how I replace text under buttons and in the text. Notice that I request the original document from my server which is easier to get things compliant. Hope this helps, This AppeX and VW of course (what else). Maarten MOSTERT 28 Av Alphonse Denis 83400 Hyères, France +33 676411296 http://stakepoint.com/ <http://stakepoint.com/> sendRequestSignUpMail: aNewUser license: aConf languages: langSTR | aMessage smtpClient stream bos aByteArray cryptedMail httpClient request response messContents aLinkAccept aName byMailChimp | stream := WriteStream on: ByteArray new. bos := BinaryObjectStorage onNew: stream. bos nextPut: aNewUser email. bos nextPut: aNewUser passwd. bos nextPut: Date today. bos close. aByteArray := stream contents. cryptedMail := Crypter new cryptEmail: aByteArray. DeploymentOptionsSystem isRuntime ifTrue: [aLinkAccept := 'http://159.8.120.108/Interpret/confirm' , cryptedMail] ifFalse: [aLinkAccept := 'http://localhost:8889/Interpret/confirm' , cryptedMail]. httpClient := Net.HttpClient new. httpClient timeout: 2000. request := Net.HttpRequest get: 'http://stakepoint.com/headvox/HeadVoxSignUp.htm'. response := [httpClient executeRequest: request] on: Error do: [:exc | Transcript show: 'You missed it !']. response ifNotNil: [messContents := response value byteSource contents asByteString. messContents := messContents copyReplaceAll: 'text/html; charset=utf-8' with: 'utf-8'. aNewUser firstName ifNil: [aNewUser lastName ifNil: [aName := 'Interpreter,'] ifNotNil: [aName := 'Mr/MS ' , aNewUser lastName]] ifNotNil: [aName := aNewUser firstName]. messContents := messContents copyReplaceAll: 'XXXXXX' with: aName. messContents := messContents copyReplaceAll: 'http://confirmsigningup' with: aLinkAccept. messContents := messContents copyReplaceAll: 'YYYYYYYYYYYY' with: aNewUser email. aMessage := Net.MailMessage newTextHTML. aMessage contents: messContents. aMessage to: aNewUser email. aMessage cc: (List with: 'maarten.mostert@stakepoint.com'). aMessage from: '"HeadVox" <p.tecchio@headvox.com>'. aMessage subject: 'HeadVox Sign-Up Confirmation'. > Le 11 oct. 2016 à 16:15, jtuchel@objektfabrik.de a écrit : > > Hi, > > please excuse my posting to this list although my question is very generic and not very closely related to Smalltalk. But since here are a few people around who use Seaside and related web technologies in Smalltalk, I thought this question may be of interest to the group. > > Our web application (Seaside based, to at least justify my abuse of this group a tiny bit) sends out mails to registered users at certain events. We currently have some HTML-Strings that are concatenated into mail messages, by simply streaming the headers, an empty line and the html contents of a mail message. Of course we fill in individual information like the name of the recipient, amounts etc. individually for our mail recipients. > > I am looking for an application that allows to me visually design such an HTML (and alternative text) message and export the result as a simple ASCII file that can be used to > > 1. Use a simple text editor (or workspace) to add variables (like %1, %2 etc. for bindWith:with: etc, or Mustache or whatever) > > 2. Read from a FileStream and fill in the variables and concatenate the ready made message into a String that can be sent out via SMTP > > I've tried MailDesigner Pro on Mac, but this doesn't embed pictures inline into the exported file. It puts images onto some cloud location and adds links to them. This is not what I have in mind. I want the images to be inline in the message as attachment. > > I hope I've described exactly enough what I need and that you guys have any tips what I could use. I don't care if it runs on Windows, Mac or Linux, and it can be a reasonably priced commercial product if it does what I need. > > Maybe you don't have an answer but have an idea where I could ask. > > > Thanks, > > > Joachim > > > -- > ----------------------------------------------------------------------- > Objektfabrik Joachim Tuchel mailto:jtuchel@objektfabrik.de > Fliederweg 1 http://www.objektfabrik.de > D-71640 Ludwigsburg http://joachimtuchel.wordpress.com > Telefon: +49 7141 56 10 86 0 Fax: +49 7141 56 10 86 1 > > > _______________________________________________ > Esug-list mailing list > Esug-list@lists.esug.org > http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
J
jtuchel@objektfabrik.de
Wed, Oct 12, 2016 9:19 AM

Hi Maarten,

thanks a lot for your answer and code sample.
It helped in several aspects:

  • it shows me my idea is not too exotic and others are doing the same
    thing that I want to do (so far, the html mails were hand written
    and therefor, uhm, ugly)
  • the way you do it seems to be the same thing I had in mind, but your
    idea of storing the templates outside of the image is excellent for
    updates, especially using http requests rather than file access
  • I was thinking in ways of "Edit in WYSIWYG program, export,
    hand-edit to add insertion points", but of course I can also user
    the editor to add text that is unique enough to find and replace it
    with simple copyReplace:..., like your XXXX etc.
  • I gave MailDesigner Pro a second look and dove deeper into its HTML
    export feature and results of it. It even has a nice feature of
    adding a url-prefix for img-tags, so that we can upload the images
    to some web server and use that url as a prefix to acces all the
    images in the mail. I think this is our way to go. (MailStyler and
    Mail Designer look as if they are extremely similar - but on
    separate OSes)
  • Your way of replacing the URL for the confirmation link based on
    test/production environment was another good inspiration for me

So your message was very valuable for me, there was so much more in it
for me than you might imagine ;-)

Thanks a lot!

Joachim

Am 11.10.16 um 16:28 schrieb Maarten Mostert:

Hi,

I Use MailStyler its Windows only but does a good job in virtual box.

Enclosed is the method I use to crypt the link and how I replace text
under buttons and in the text.

Notice that I request the original document from my server which is
easier to get things compliant.

Hope this helps,

This AppeX and VW of course  (what else).

Maarten MOSTERT

28 Av Alphonse Denis
83400 Hyères, France
+33 676411296
http://stakepoint.com/

sendRequestSignUpMail: aNewUser license: aConf languages: langSTR

| aMessage smtpClient stream bos aByteArray cryptedMail httpClient
request response messContents aLinkAccept aName byMailChimp |
stream := WriteStream on: ByteArray new.
bos := BinaryObjectStorage onNew: stream.
bos nextPut: aNewUser email.
bos nextPut: aNewUser passwd.
bos nextPut: Date today.
bos close.
aByteArray := stream contents.
cryptedMail := Crypter new cryptEmail: aByteArray.
DeploymentOptionsSystem isRuntime
ifTrue:
[aLinkAccept := 'http://159.8.120.108/Interpret/confirm' , cryptedMail]
ifFalse:
[aLinkAccept := 'http://localhost:8889/Interpret/confirm' , cryptedMail].
httpClient := Net.HttpClient new.
httpClient timeout: 2000.
request := Net.HttpRequest
get: 'http://stakepoint.com/headvox/HeadVoxSignUp.htm'.
response := [httpClient executeRequest: request] on: Error
do: [:exc | Transcript show: 'You missed it !'].
response
ifNotNil:
[messContents := response value byteSource contents asByteString.
messContents := messContents copyReplaceAll: 'text/html; charset=utf-8'
with: 'utf-8'.
aNewUser firstName
ifNil:
[aNewUser lastName
ifNil: [aName := 'Interpreter,']
ifNotNil: [aName := 'Mr/MS ' , aNewUser lastName]]
ifNotNil: [aName := aNewUser firstName].
messContents := messContents copyReplaceAll: 'XXXXXX' with: aName.
messContents := messContents copyReplaceAll: 'http://confirmsigningup'
with: aLinkAccept.
messContents := messContents copyReplaceAll: 'YYYYYYYYYYYY'
with: aNewUser email.
aMessage := Net.MailMessage newTextHTML.
aMessage contents: messContents.

aMessage to: aNewUser email.
aMessage cc: (List with: 'maarten.mostert@stakepoint.com
mailto:maarten.mostert@stakepoint.com').
aMessage from: '"HeadVox" <p.tecchio@headvox.com
mailto:p.tecchio@headvox.com>'.
aMessage
subject: 'HeadVox Sign-Up Confirmation'.

Le 11 oct. 2016 à 16:15, jtuchel@objektfabrik.de
mailto:jtuchel@objektfabrik.de a écrit :

Hi,

please excuse my posting to this list although my question is very
generic and not very closely related to Smalltalk. But since here are
a few people around who use Seaside and related web technologies in
Smalltalk, I thought this question may be of interest to the group.

Our web application (Seaside based, to at least justify my abuse of
this group a tiny bit) sends out mails to registered users at certain
events. We currently have some HTML-Strings that are concatenated
into mail messages, by simply streaming the headers, an empty line
and the html contents of a mail message. Of course we fill in
individual information like the name of the recipient, amounts etc.
individually for our mail recipients.

I am looking for an application that allows to me visually design
such an HTML (and alternative text) message and export the result as
a simple ASCII file that can be used to

  1. Use a simple text editor (or workspace) to add variables (like %1,
    %2 etc. for bindWith:with: etc, or Mustache or whatever)

  2. Read from a FileStream and fill in the variables and concatenate
    the ready made message into a String that can be sent out via SMTP

I've tried MailDesigner Pro on Mac, but this doesn't embed pictures
inline into the exported file. It puts images onto some cloud
location and adds links to them. This is not what I have in mind. I
want the images to be inline in the message as attachment.

I hope I've described exactly enough what I need and that you guys
have any tips what I could use. I don't care if it runs on Windows,
Mac or Linux, and it can be a reasonably priced commercial product if
it does what I need.

Maybe you don't have an answer but have an idea where I could ask.

Thanks,

Joachim

--

Objektfabrik Joachim Tuchel mailto:jtuchel@objektfabrik.de
Fliederweg 1 http://www.objektfabrik.de
D-71640 Ludwigsburg http://joachimtuchel.wordpress.com
Telefon: +49 7141 56 10 86 0        Fax: +49 7141 56 10 86 1


Esug-list mailing list
Esug-list@lists.esug.org mailto:Esug-list@lists.esug.org
http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org

--

Objektfabrik Joachim Tuchel          mailto:jtuchel@objektfabrik.de
Fliederweg 1                        http://www.objektfabrik.de
D-71640 Ludwigsburg                  http://joachimtuchel.wordpress.com
Telefon: +49 7141 56 10 86 0        Fax: +49 7141 56 10 86 1

Hi Maarten, thanks a lot for your answer and code sample. It helped in several aspects: * it shows me my idea is not too exotic and others are doing the same thing that I want to do (so far, the html mails were hand written and therefor, uhm, ugly) * the way you do it seems to be the same thing I had in mind, but your idea of storing the templates outside of the image is excellent for updates, especially using http requests rather than file access * I was thinking in ways of "Edit in WYSIWYG program, export, hand-edit to add insertion points", but of course I can also user the editor to add text that is unique enough to find and replace it with simple copyReplace:..., like your XXXX etc. * I gave MailDesigner Pro a second look and dove deeper into its HTML export feature and results of it. It even has a nice feature of adding a url-prefix for img-tags, so that we can upload the images to some web server and use that url as a prefix to acces all the images in the mail. I think this is our way to go. (MailStyler and Mail Designer look as if they are extremely similar - but on separate OSes) * Your way of replacing the URL for the confirmation link based on test/production environment was another good inspiration for me So your message was very valuable for me, there was so much more in it for me than you might imagine ;-) Thanks a lot! Joachim Am 11.10.16 um 16:28 schrieb Maarten Mostert: > Hi, > > I Use MailStyler its Windows only but does a good job in virtual box. > > Enclosed is the method I use to crypt the link and how I replace text > under buttons and in the text. > > Notice that I request the original document from my server which is > easier to get things compliant. > > Hope this helps, > > This AppeX and VW of course (what else). > > > Maarten MOSTERT > > 28 Av Alphonse Denis > 83400 Hyères, France > +33 676411296 > http://stakepoint.com/ > > *sendRequestSignUpMail: aNewUser license: aConf languages: langSTR* > > | aMessage smtpClient stream bos aByteArray cryptedMail httpClient > request response messContents aLinkAccept aName byMailChimp | > stream := WriteStream on: ByteArray new. > bos := BinaryObjectStorage onNew: stream. > bos nextPut: aNewUser email. > bos nextPut: aNewUser passwd. > bos nextPut: Date today. > bos close. > aByteArray := stream contents. > cryptedMail := Crypter new cryptEmail: aByteArray. > DeploymentOptionsSystem isRuntime > ifTrue: > [aLinkAccept := 'http://159.8.120.108/Interpret/confirm' , cryptedMail] > ifFalse: > [aLinkAccept := 'http://localhost:8889/Interpret/confirm' , cryptedMail]. > httpClient := Net.HttpClient new. > httpClient timeout: 2000. > request := Net.HttpRequest > get: 'http://stakepoint.com/headvox/HeadVoxSignUp.htm'. > response := [httpClient executeRequest: request] on: Error > do: [:exc | Transcript show: 'You missed it !']. > response > ifNotNil: > [messContents := response value byteSource contents asByteString. > messContents := messContents copyReplaceAll: 'text/html; charset=utf-8' > with: 'utf-8'. > aNewUser firstName > ifNil: > [aNewUser lastName > ifNil: [aName := 'Interpreter,'] > ifNotNil: [aName := 'Mr/MS ' , aNewUser lastName]] > ifNotNil: [aName := aNewUser firstName]. > messContents := messContents copyReplaceAll: 'XXXXXX' with: aName. > messContents := messContents copyReplaceAll: 'http://confirmsigningup' > with: aLinkAccept. > messContents := messContents copyReplaceAll: 'YYYYYYYYYYYY' > with: aNewUser email. > aMessage := Net.MailMessage newTextHTML. > aMessage contents: messContents. > > aMessage to: aNewUser email. > aMessage cc: (List with: 'maarten.mostert@stakepoint.com > <mailto:maarten.mostert@stakepoint.com>'). > aMessage from: '"HeadVox" <p.tecchio@headvox.com > <mailto:p.tecchio@headvox.com>>'. > aMessage > subject: 'HeadVox Sign-Up Confirmation'. > > > >> Le 11 oct. 2016 à 16:15, jtuchel@objektfabrik.de >> <mailto:jtuchel@objektfabrik.de> a écrit : >> >> Hi, >> >> please excuse my posting to this list although my question is very >> generic and not very closely related to Smalltalk. But since here are >> a few people around who use Seaside and related web technologies in >> Smalltalk, I thought this question may be of interest to the group. >> >> Our web application (Seaside based, to at least justify my abuse of >> this group a tiny bit) sends out mails to registered users at certain >> events. We currently have some HTML-Strings that are concatenated >> into mail messages, by simply streaming the headers, an empty line >> and the html contents of a mail message. Of course we fill in >> individual information like the name of the recipient, amounts etc. >> individually for our mail recipients. >> >> I am looking for an application that allows to me visually design >> such an HTML (and alternative text) message and export the result as >> a simple ASCII file that can be used to >> >> 1. Use a simple text editor (or workspace) to add variables (like %1, >> %2 etc. for bindWith:with: etc, or Mustache or whatever) >> >> 2. Read from a FileStream and fill in the variables and concatenate >> the ready made message into a String that can be sent out via SMTP >> >> I've tried MailDesigner Pro on Mac, but this doesn't embed pictures >> inline into the exported file. It puts images onto some cloud >> location and adds links to them. This is not what I have in mind. I >> want the images to be inline in the message as attachment. >> >> I hope I've described exactly enough what I need and that you guys >> have any tips what I could use. I don't care if it runs on Windows, >> Mac or Linux, and it can be a reasonably priced commercial product if >> it does what I need. >> >> Maybe you don't have an answer but have an idea where I could ask. >> >> >> Thanks, >> >> >> Joachim >> >> >> -- >> ----------------------------------------------------------------------- >> Objektfabrik Joachim Tuchel mailto:jtuchel@objektfabrik.de >> Fliederweg 1 http://www.objektfabrik.de >> D-71640 Ludwigsburg http://joachimtuchel.wordpress.com >> Telefon: +49 7141 56 10 86 0 Fax: +49 7141 56 10 86 1 >> >> >> _______________________________________________ >> Esug-list mailing list >> Esug-list@lists.esug.org <mailto:Esug-list@lists.esug.org> >> http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org > -- ----------------------------------------------------------------------- Objektfabrik Joachim Tuchel mailto:jtuchel@objektfabrik.de Fliederweg 1 http://www.objektfabrik.de D-71640 Ludwigsburg http://joachimtuchel.wordpress.com Telefon: +49 7141 56 10 86 0 Fax: +49 7141 56 10 86 1