Commit graph

89 commits

Author SHA1 Message Date
Ankush Menat
67bcda333e
fix: auto add modified index when sort_field is set to it (#25686)
This is 2nd most common sort order, so we should support adding index
for it automatically.

Not quite sure on generalizing this behaviour *YET*
2024-03-27 14:40:26 +00:00
Ankush Menat
85f66c083e
fix: preserve original error message (#25682) 2024-03-27 13:13:49 +00:00
Ankush Menat
fdd74e3ac1 fix: set sane default timeout on SMTP 2024-03-18 19:19:32 +05:30
Ankush Menat
3211a77dc8 fix: handle emails sent from console 2023-11-04 14:30:37 +05:30
Ankush Menat
089985e53b feat: frappe.job local for reading job info 2023-11-04 14:06:31 +05:30
Ankush Menat
a4382fda5a fix: Automatically close SMTP connections on exit 2023-11-04 11:51:42 +05:30
Ankush Menat
d5d0dfb58b perf: Reuse SMTP connection when flushing email queue
This depends on https://github.com/frappe/frappe/pull/23070
2023-11-04 11:32:48 +05:30
Ankush Menat
60e6fb005e
fix: Show excat OSError when creating SMTP session (#23067) 2023-11-02 17:23:19 +05:30
phot0n
2b22556309 chore: remove deprecated send method from smtp 2023-06-08 16:19:37 +05:30
Suraj Shetty
7a92a604e0
style: Fix formatting 2023-03-31 14:03:49 +05:30
Himanshu Shivhare
2cb492561a
fix(ux): correct email account setup path in error message (#20513) 2023-03-30 17:57:00 +05:30
phot0n
f0a17d7adb fix: make connected app work with email account
* removed (now) unnecessary things from oauth class
* simplified get_active_token in connected_app
* removed gmail banner from email account docs
2022-12-28 14:58:19 +05:30
phot0n
5bf26819a8 fix: better/reduced exception handling for email oauth
Since the places where connection methods are called already
have a lot of exception handling, we can just raise and let them
handle all the probable cases.
2022-07-13 12:05:46 +05:30
phot0n
064ffef8b9 minor: throw exception if refresh_token is not present 2022-07-13 12:05:46 +05:30
phot0n
06c5a7226d chore: fix linter 2022-07-13 12:05:46 +05:30
phot0n
ebc5861210 feat: generic OAuth for email 2022-07-13 12:05:46 +05:30
phot0n
07a577af86 feat: google oauth for google emails
* used unique constraint on email_id in Email Account Doctype
2022-07-13 12:05:46 +05:30
Gavin D'souza
1b1479ef37 fix(email): Maintain multi-tenancy translation sanity in error messages
Defining translated strings as globals means the strings are evaluated
at import time. So the value of these variables is set based on which
site or user initializes the module. This makes it possible for  an
english user to get Russian errors.

---

Other changes: Remove unreachable code, avoid importing _socket.error alias to
OSError
2022-06-07 13:22:45 +05:30
chillaranand
25f82e966c refactor: Remove unused imports & code 2022-05-19 15:34:35 +05:30
Suraj Shetty
c0c5b2ebdd
style: format all python files using black (#16453)
Co-authored-by: Frappe Bot <developers@frappe.io>
2022-04-12 10:59:25 +05:30
Gavin D'souza
3446026555 chore: Update header: license.txt => LICENSE
The license.txt file has been replaced with LICENSE for quite a while
now. INAL but it didn't seem accurate to say "hey, checkout license.txt
although there's no such file". Apart from this, there were
inconsistencies in the headers altogether...this change brings
consistency.
2021-09-03 12:02:59 +05:30
Gavin D'souza
2ad9d202cb Merge branch 'develop' of github.com:frappe/frappe into drop-py2-code 2021-06-03 11:21:55 +05:30
leela
384d875b62 refactor: smtp session creation cleanup 2021-05-31 15:42:45 +05:30
Gavin D'souza
e407b78506 chore: Drop dead and deprecated code
* Remove six for PY2 compatability since our dependencies are not, PY2
  is legacy.
* Removed usages of utils from future/past libraries since they are
  deprecated. This includes 'from __future__ ...' and 'from past...'
  statements.
* Removed compatibility imports for PY2, switched from six imports to
  standard library imports.
* Removed utils code blocks that handle operations depending on PY2/3
  versions.
* Removed 'from __future__ ...' lines from templates/code generators
* Used PY3 syntaxes in place of PY2 compatible blocks. eg: metaclass
2021-05-26 15:31:29 +05:30
leela
59bfc12da6 refactor: Cleaned Email Queue sendmail functionality
* Sending mail works independently
* You can send a mail by calling Queue_doc.send()
* Used context manager to track exceptions while sending mails
2021-05-06 10:08:50 +05:30
leela
a8f74d9471 refactor: Move finding email accounts code to EmailAccount doctype 2021-05-03 06:22:35 +05:30
Shivam Mishra
b3a8ecad63 refactor: don't encode server string 2020-11-25 17:34:44 +05:30
Shivam Mishra
f4c7c7aeed fix: set self.port instead of self.smtp_port 2020-11-25 15:07:19 +05:30
Suraj Shetty
aef8ecc7ef fix: Show custom message for invalid login credentials 2020-11-03 12:43:39 +05:30
Suraj Shetty
32b99abaa9 fix: Email error messages 2020-10-22 10:54:53 +05:30
Himanshu Warekar
1b4ecdf792 fix: unreferenced variable 2020-01-04 09:26:23 +05:30
Suraj Shetty
295c5f89f1
Merge branch 'develop' into email_ssl 2019-12-31 20:47:11 +05:30
Suraj Shetty
3c3516a652 fix(email): Do not encode smtp_server value (#9137)
* fix: Do not encode smtp server

Because it breaks in python 3

* fix: use cstr to change text_type to str

Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com>

Co-authored-by: Chinmay Pai <chinmaydpai@gmail.com>
2019-12-28 11:21:08 +05:30
Chinmay D. Pai
6357a4a9a5
feat(email): allow ssl for outgoing emails, append to sent folder
* dont always use default outgoing account for sending
* allow ssl for outgoing emails

Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com>
2019-12-18 16:18:44 +05:30
Sagar Vora
cfd7f8bf37 fix: incorrect if condition in smtp module 2019-09-07 12:54:52 +05:30
Zlash65
9d61601829 feat: replace sender name by email account name 2019-02-12 17:37:45 +05:30
Aleksas Pielikis
ecb3d3f56d feat(email): Allow emails to be sent without SMTP authentication by setting (#6816)
* Add email_account option to disable SMTP Authentication.

* Partially reverting email_account.py changes. Unnecessary incoming_server logic was added.

* Codacy code style issue fix.

* Suppress 'Password is required or select Awaiting Password' message if only smtp is used an no athentication is required.

* Suppress 'Password is required or select Awaiting Password' message if only smtp is used an no athentication is required.

* Simplified logic.

* Reverted excessive changes.

* fix: remove description and make label clear
2019-01-28 12:22:28 +05:30
Aditya Hase
7a12d3399f fix(email): Pass args as unicode in Py2 & bytes in Py3 to SMTP.login 2019-01-22 23:06:17 +05:30
IOWEB TECHNOLOGIES
191684f6a5 Add option to convert password to use ASCII instead of Unicode when needed by smtp server config (#5793) 2018-07-23 11:08:15 +05:30
Ameya Shenoy
ab7b862a49 safe encode is not required 2018-07-06 18:15:17 +05:30
IOWEB TECHNOLOGIES
44f045ca04 Fix bug with smtplib and crammd5 servers that prevents email sending (#5687)
* Fix bug with smtplib and crammd5 servers that prevents email sending

* Use frappe.safe_decode instead of str

* Revert "Use frappe.safe_decode instead of str"

This reverts commit 272aa167fd86f90129517666b2cad85363026f87.

* Using frappe_encode to 'ascii' to send the password

* Update smtp.py

* Update smtp.py
2018-07-06 12:06:02 +05:30
Saurabh
edf361b132 resolved merge conflicts 2018-06-05 15:14:42 +05:30
Faris Ansari
ad64ef5c4e
[fix] Incorrect email account as sender (#5657)
If there are multiple Email Accounts with the same append_to,
then the first one is fetched which is incorrect if there is an
Email Account for the current user.

Now it is first filtered by email_id, if not found falls back to old
behaviour.
2018-06-05 14:44:49 +05:30
Storm
f632ad77d4 smtplib login expects strings for username and password 2018-03-06 09:04:56 -07:00
Makarand Bauskar
780df0be60 [hotfix] pull emails from all incoming email accounts instead of enqueue single email account (#4199) 2017-09-28 12:14:00 +05:30
Makarand Bauskar
ad1c04850c [hotfix] send email from sender's email account if From field is selected on communication view (#4181)
* [hotfix] send email from sender's email account if From field is selected on communication view

* [fixes] codecy fixes
2017-09-27 12:41:35 +05:30
pratu16x7
276f5b5631 [setup] suppress post-setup messages 2017-09-05 12:15:43 +05:30
tundebabzy
702e52e665 Change raise syntax to python 3 compatible style (#3497)
* python 3 compatible raise statement

* python 3 compatible raise statement

* python 3 compatible raise statement

* python 3 compatible raise statement

* python 3 compatible raise statement

* python 3 compatible raise statement

* python 3 compatible raise statement

* python 3 compatible raise statement

* python 3 compatible raise statement

* python 3 compatible raise statement

* python 3 compatible raise statement

* python 3 compatible raise statement
2017-06-19 09:07:19 +05:30
tundebabzy
6fbe20caaa Except and raise statement python 3 compatible style (#3216)
* changes exception and raise statements to python 3 style

* changes except statement to python 3 style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* changes except and raise statement to python 3 compatible style

* adds six.reraise to fix python 3 style raise statements with traceback

* fixes indentation
2017-05-11 10:51:59 +05:30
slushpuppy
9ed4ce4a36 Fix for localhost SMTP servers without authentication (#3139)
* Update email_account.py

Fix for passwordless localhost SMTP servers

* Update smtp.py

* Update smtp.py

Updated

* Update smtp.py

Syntax error fix

* Update email_account.py
2017-04-26 14:59:35 +05:30