# Sending e-mails Nebula allows sending e-mails using its internal `send_mail` function. Internally, it is used for password reset, but you may use it in your tools and worker services for reporting, notifications etc. SMTP server must be properly configured to send messages: ```python= data["settings"]["smtp_host"] = "smtp.example.com" data["settings"]["smtp_port"] = 465 data["settings"]["smtp_ssl"] = True data["settings"]["smtp_user"] = "smtp-user" data["settings"]["smtp_pass"] = "your-smtp-password" data["settings"]["mail_from"] = "Nebula <noreply@example.com>" ``` Then, you may for example configure an action to send a notification to the user, who started the job after it is finished by adding a script to the `<success>` block of the action config file. ```xml= <success><![CDATA[ email = None if job.id_user: user = User(job.id_user) if user["email"]: email = user["email"] if email: logging.info(f"Sending notification to {email}") body = markdown2email(f""" Asset **{job.asset["title"]}** has been succesfully transcoded. *Sincerely* *Your nebula*""") send_mail(email, "Your file is ready", body) ]]></success> ``` First argument of the `send_mail` function is an email address or list of addresses, subject follows. The last argument is the body. You may provide either raw text or use `markdown2email` function to create rich formated message using Markdown syntax.