~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/email_message.py

  • Committer: Tarmac
  • Author(s): Vincent Ladeuil
  • Date: 2017-01-30 14:42:05 UTC
  • mfrom: (6620.1.1 trunk)
  • Revision ID: tarmac-20170130144205-r8fh2xpmiuxyozpv
Merge  2.7 into trunk including fix for bug #1657238 [r=vila]

Show diffs side-by-side

added added

removed removed

Lines of Context:
12
12
#
13
13
# You should have received a copy of the GNU General Public License
14
14
# along with this program; if not, write to the Free Software
15
 
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
16
 
17
17
"""A convenience class around email.Message and email.MIMEMultipart."""
18
18
 
 
19
from __future__ import absolute_import
 
20
 
19
21
from email import (
20
22
    Header,
21
23
    Message,
31
33
 
32
34
class EmailMessage(object):
33
35
    """An email message.
34
 
    
 
36
 
35
37
    The constructor needs an origin address, a destination address or addresses
36
38
    and a subject, and accepts a body as well. Add additional parts to the
37
39
    message with add_inline_attachment(). Retrieve the entire formatted message
95
97
 
96
98
    def as_string(self, boundary=None):
97
99
        """Return the entire formatted message as a string.
98
 
        
 
100
 
99
101
        :param boundary: The boundary to use between MIME parts, if applicable.
100
102
            Used for tests.
101
103
        """
136
138
 
137
139
    def __getitem__(self, header):
138
140
        """Get a header from the message, returning None if not present.
139
 
        
 
141
 
140
142
        This method intentionally does not raise KeyError to mimic the behavior
141
143
        of __getitem__ in email.Message.
142
144
        """
147
149
 
148
150
    @staticmethod
149
151
    def send(config, from_address, to_address, subject, body, attachment=None,
150
 
            attachment_filename=None, attachment_mime_subtype='plain'):
 
152
             attachment_filename=None, attachment_mime_subtype='plain'):
151
153
        """Create an email message and send it with SMTPConnection.
152
154
 
153
155
        :param config: config object to pass to SMTPConnection constructor.
181
183
    def string_with_encoding(string_):
182
184
        """Return a str object together with an encoding.
183
185
 
184
 
        :param string_: A str or unicode object.
 
186
        :param string\\_: A str or unicode object.
185
187
        :return: A tuple (str, encoding), where encoding is one of 'ascii',
186
188
            'utf-8', or '8-bit', in that preferred order.
187
189
        """