summaryrefslogtreecommitdiff
path: root/service/pixelated/adapter
diff options
context:
space:
mode:
Diffstat (limited to 'service/pixelated/adapter')
-rw-r--r--service/pixelated/adapter/pixelated_mail.py12
-rw-r--r--service/pixelated/adapter/pixelated_mail_sender.py10
2 files changed, 17 insertions, 5 deletions
diff --git a/service/pixelated/adapter/pixelated_mail.py b/service/pixelated/adapter/pixelated_mail.py
index e43d5510..d20a93f4 100644
--- a/service/pixelated/adapter/pixelated_mail.py
+++ b/service/pixelated/adapter/pixelated_mail.py
@@ -42,7 +42,13 @@ class PixelatedMail:
self.headers['from'] = [_from]
def get_to(self):
- return self.headers['to'][0]
+ return self.headers['to']
+
+ def get_cc(self):
+ return self.headers['cc']
+
+ def get_bcc(self):
+ return self.headers['bcc']
def _extract_status(self):
return Status.from_flags(self.leap_mail.getFlags())
@@ -81,7 +87,9 @@ class PixelatedMail:
def to_mime_multipart(self):
mime_multipart = MIMEMultipart()
- mime_multipart['To'] = self.headers['to'][0]
+ mime_multipart['To'] = ", ".join(self.headers['to'])
+ mime_multipart['Cc'] = ", ".join(self.headers['cc'])
+ mime_multipart['Bcc'] = ", ".join(self.headers['bcc'])
mime_multipart['Subject'] = self.headers['subject']
mime_multipart.attach(MIMEText(self.body, 'plain'))
return mime_multipart
diff --git a/service/pixelated/adapter/pixelated_mail_sender.py b/service/pixelated/adapter/pixelated_mail_sender.py
index 3ace6814..6f6340da 100644
--- a/service/pixelated/adapter/pixelated_mail_sender.py
+++ b/service/pixelated/adapter/pixelated_mail_sender.py
@@ -14,6 +14,7 @@
# You should have received a copy of the GNU Affero General Public License
# along with Pixelated. If not, see <http://www.gnu.org/licenses/>.
import smtplib
+from pixelated.support.functional import flatten
class PixelatedMailSender():
@@ -22,7 +23,10 @@ class PixelatedMailSender():
self.smtp_client = smtplib.SMTP('localhost', 4650)
def sendmail(self, mail):
- _from = self.account_email_address
- _to = mail.get_to()
+ recipients = flatten([mail.get_to(), mail.get_cc(), mail.get_bcc()])
- self.smtp_client.sendmail(_from, _to, mail.to_smtp_format(_from=_from))
+ self.smtp_client.sendmail(
+ self.account_email_address,
+ recipients,
+ mail.to_smtp_format(_from=self.account_email_address)
+ )