diff --git a/mailsender/client.py b/mailsender/client.py
index 75152bd9fc285996bf08810242d38c2dc8785d45..a083a68b29f025b474e9fee34a34f4828c70866f 100644
--- a/mailsender/client.py
+++ b/mailsender/client.py
@@ -7,6 +7,8 @@ import typing
 from email.header import Header
 from email.mime.text import MIMEText
 from typing import Optional, List
+from email.mime.application import MIMEApplication
+from email.mime.multipart import MIMEMultipart
 
 from mailsender.models import (MessageParameters, MailSenderConfig)
 
@@ -58,7 +60,7 @@ class MailSender:
                 raise ValueError("%s not set for %s" % (k, message_type))
         return message_parameters
 
-    def send_email(self, message: str, message_type: Optional[str] = None):
+    def send_email(self, message: str, message_type: Optional[str] = None, attachment=[]):
         if self.sending_disabled:
             logger.info("Sending of mails is disabled, not sending emails")
             return False
@@ -70,11 +72,17 @@ class MailSender:
         subject = message_parameters.subject
 
         email = smtplib.SMTP(self.smtp_server, self.smtp_port)
-        message = MIMEText(message, 'plain', 'utf-8')
-        message['From'] = sender
-        message['To'] = ", ".join(recipients)
-        message['Subject'] = Header(subject, 'utf-8')
-        email.sendmail(sender, recipients, message.as_string())
+        msg = MIMEMultipart()         
+        msg['From'] = sender
+        msg['To'] = ", ".join(recipients)
+        msg['Subject'] = Header(subject, 'utf-8')
+        msg.attach(MIMEText(message, 'plain', 'utf-8'))
+        if attachment:
+            for f in attachment:
+                with open(f, 'rb') as a_file:
+                    msg.attach(MIMEApplication(a_file.read(), Name= os.path.basename(f)))
+                                        
+        email.sendmail(sender, recipients, msg.as_string())
         email.quit()
         return True
     
diff --git a/tests/email_send.py b/tests/email_send.py
new file mode 100644
index 0000000000000000000000000000000000000000..6cd6900398c009f56b11b012268c9c95e146a4c7
--- /dev/null
+++ b/tests/email_send.py
@@ -0,0 +1,28 @@
+from email import message
+from os import truncate
+from smtplib import SMTP, SMTP_PORT
+from email.mime.multipart import MIMEMultipart
+from email.mime.text import MIMEText
+import smtplib
+import mailsender
+from mailsender import client
+from mailsender.client import MailSender
+from mailsender.models import MessageParameters, MailSenderConfig
+
+client = MailSender(
+    MailSenderConfig(
+        smtp_server = "smtp.gmail.com",
+        smtp_port = 587,
+        sending_disabled = False,
+        message_parameters = MessageParameters(
+            sender_name = "Kabir",
+            sender_mail = "testemail@uit.no",
+            recipients = ["testemail@uit.no", "testemail.@yahoo.com"],
+            subject = "Hei test"
+        )
+    )
+)
+
+body = "This is test. Please find the attachment"
+client.send_email(body, None, ["sample.pdf", "image1.jpg"])
+#note: copy pdf,image1 to the tests folder before execute this file.
\ No newline at end of file