Jump to:

23473 Posts in 18941 Topics by 2878 members

General Questions

SilverStripe Forums » General Questions » Sending multipart mails?

General questions about getting started with SilverStripe that don't fit in any of the categories above.

Moderators: martimiz, Sean, biapar, Willr, Ingo, swaiba, simon_w

Page: 1
Go to End
Author Topic: 532 Views
  • danzzz
    Community Member
    175 Posts

    Sending multipart mails? Link to this post




    I can send HTML mails, with


    textmails. But how to send multipart mails? I want to add plaintext part aswell the html part.
    For example, if some mail clients dont allow htmls mails they only show plain text part of the mail.
    With php.pear's mailer class for example I can attach 2 templates ...

    And I have problems with (setTemplate) when using "sendPlain" (It sends only whats in $body variable).
    Isnt it possible to use a template when using sendPlain()?

  • swaiba
    Forum Moderator
    1792 Posts

    Re: Sending multipart mails? Link to this post

    good question...

    I do this...

    $email->plaintext_body = strip_tags($email->body);

    ...I am very interested in other answer though...

  • danzzz
    Community Member
    175 Posts

    Re: Sending multipart mails? Link to this post


    yes, I did it also a such way:

    first I generate an array with template data, then I transform the array to an object and then render it with
    the text part and html part. and then I also use the $plaintext_body var to add the plaintext template.

    it works like that for me

    $template_data = array(
             'ActivationLink' => Director::absoluteURL(Controller::join_links ('a',$this->Member->ID,"/{$this->Member->validationkey}")),
             'Personalisation' => 'Ser Anton',

           $arrayData = new ArrayData($template_data);
           $htmltemplate = $arrayData->renderWith('ReActivationMail');
           $texttemplate = $arrayData->renderWith('ReActivationMailText');

           $reactivationmail = new Email(
             $from = 'Sender <service@sender.com>',
             $to = $data['Email'],
             $subject = 'Sender Aktivierungsmail',
             $body = $htmltemplate,
             $plaintext_body = $texttemplate


Page: 1
Go to Top

Want to know more about the company that brought you SilverStripe? Then check out SilverStripe.com

Comments on this website? Please give feedback.