From c0c6f5da7d852926b2a70a0fa717f017a9ef7a27 Mon Sep 17 00:00:00 2001
From: Anuj Dubey <70852663+anujdube12@users.noreply.github.com>
Date: Thu, 1 Oct 2020 11:44:47 +0530
Subject: [PATCH] Create email.py

send email  for user
---
 src/jarvis/jarvis/skills/collection/email.py | 75 ++++++++++++++++++++
 1 file changed, 75 insertions(+)
 create mode 100644 src/jarvis/jarvis/skills/collection/email.py

diff --git a/src/jarvis/jarvis/skills/collection/email.py b/src/jarvis/jarvis/skills/collection/email.py
new file mode 100644
index 00000000..fd5375a0
--- /dev/null
+++ b/src/jarvis/jarvis/skills/collection/email.py
@@ -0,0 +1,75 @@
+# MIT License
+
+# Copyright (c) 2019 Georgios Papachristou
+
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+
+# The above copyright notice and this permission notice shall be included in all
+# copies or substantial portions of the Software.
+
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+# SOFTWARE.
+
+import pyttsx3
+import speech_recognition as sr
+import smtplib
+
+def speak(audio):
+    engine.say(audio)
+    # Without this command, speech will not be audible to us.
+    engine.runAndWait()
+
+
+def sendEmail(to, content):
+    server = smtplib.SMTP('smtp.gmail.com', 587)
+    server.ehlo()
+    server.starttls()
+    server.login('email address', 'password')
+    server.sendmail('receiver email', to, content)
+    server.close()
+
+def takeCommand():
+    # It takes microphone input from the user and returns string output
+
+    r = sr.Recognizer()
+    with sr.Microphone() as source:
+        print("Listening...")
+        r.pause_threshold = 1
+        audio = r.listen(source)
+    try:
+        print("Recognizing...")
+        # Using google for voice recognition.
+        query = r.recognize_google(audio, language='en-in')
+        print(f"User said: {query}\n")  # User query will be printed.
+
+    except Exception as e:
+        # print(e)
+        # Say that again will be printed in case of improper voice
+        print("Say that again please...")
+        return "None"  # None string will be returned
+    return query
+
+def email():
+    speak("Sir, give me your message")
+                print('Give message.......')
+                content = takeCommand()
+                to = "receiver email"
+                sendEmail(to, content)
+                print('Sending mail........')
+                speak("Email has been sent!")
+    except Exception as e:
+                print(e)
+                speak("Sorry master . I am not able to send this email")
+
+if __name__ == "__main__":
+    email()