I'm using ZdcSecureSMTPClient to send an html formatted string to a gmail account. But when I send it it displays the html encoding as plain text. ie)
mailMessage := MailMessage empty.
mailMessage setField: 'subject' toString: 'Trying to send html '.
mailMessage body: (MIMEDocument contentType: 'text/html\n'
content: '<html><head><b> Dear </b></head></html>'
This shows is Gmail as: 'html> head> Dear /b>/head>/html>'
Using Seaside/Pharo 2.0 one click image.
What you use to set the mime type is not what is expected (additionally, the content of the message should be in body, not head). Use something like the following:
mailMessage := MailMessage empty.
mailMessage setField: 'subject' toString: 'Trying to send html '.
mailMessage addMixedPart: '<html><head></head><body><i> Dear</i> </body></html>' contentType: ZnMimeType textHtml printString.
ZdcSecureSMTPClient sendUsingGMailAccount: 'you@gmail.com' password: 'XXXXXXX' to: 'recipient@server.com' message: mailMessage.
You can check that your message is correct by sending the message text to your message object.
Thanks everyone for the swift and quick answers. I found the solution to be adding the alternative part the message as below:
mailMessage := MailMessage empty. mailMessage setField: 'from' toString: from. mailMessage setField: 'to' toString: to. mailMessage setField: 'subject' toString: subject. mailMessage addAlternativePart: textBody contents contentType: 'text/plain'. mailMessage addAlternativePart: htmlBody contents contentType: 'text/html'.
the link is: http://forum.world.st/Re-Seaside-dev-Accessing-service-from-a-mail-td4671547.html#a4672088
来源:https://stackoverflow.com/questions/19508544/smalltalk-pharo-zdcsecuresmtpclient-not-showing-html-formatting-in-gmail