summaryrefslogtreecommitdiff
path: root/external/plyer/platforms/win/email.py
blob: e33f5cf7b36156acb3297b6c8de142005577defa (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import os
try:
    from urllib.parse import quote
except ImportError:
    from urllib import quote
from plyer.facades import Email


class WindowsEmail(Email):
    def _send(self, **kwargs):
        recipient = kwargs.get('recipient')
        subject = kwargs.get('subject')
        text = kwargs.get('text')

        uri = "mailto:"
        if recipient:
            uri += str(recipient)
        if subject:
            uri += "?" if not "?" in uri else "&"
            uri += "subject="
            uri += quote(str(subject))
        if text:
            uri += "?" if not "?" in uri else "&"
            uri += "body="
            uri += quote(str(text))

        try:
            os.startfile(uri)
        except WindowsError:
            print("Warning: unable to find a program able to send emails.")


def instance():
    return WindowsEmail()