diff --git a/erpnext/hr/doctype/job_applicant/get_job_applications.py b/erpnext/hr/doctype/job_applicant/get_job_applications.py
index e4a8d70..f34f481 100644
--- a/erpnext/hr/doctype/job_applicant/get_job_applications.py
+++ b/erpnext/hr/doctype/job_applicant/get_job_applications.py
@@ -4,7 +4,7 @@
 from __future__ import unicode_literals
 import frappe
 from frappe.utils import cstr, cint
-from frappe.utils.email_lib.receive import POP3Mailbox
+from frappe.email.receive import POP3Mailbox
 from frappe.core.doctype.communication.communication import _make
 
 class JobsMailbox(POP3Mailbox):	
diff --git a/erpnext/hr/doctype/salary_slip/salary_slip.py b/erpnext/hr/doctype/salary_slip/salary_slip.py
index 7c905a6..638500b 100644
--- a/erpnext/hr/doctype/salary_slip/salary_slip.py
+++ b/erpnext/hr/doctype/salary_slip/salary_slip.py
@@ -185,7 +185,7 @@
 
 
 	def send_mail_funct(self):
-		from frappe.utils.email_lib import sendmail
+		from frappe.email import sendmail
 
 		receiver = frappe.db.get_value("Employee", self.employee, "company_email")
 		if receiver:
diff --git a/erpnext/patches/repair_tools/fix_naming_series_records_lost_by_reload.py b/erpnext/patches/repair_tools/fix_naming_series_records_lost_by_reload.py
index 981ffd0..36fa277 100644
--- a/erpnext/patches/repair_tools/fix_naming_series_records_lost_by_reload.py
+++ b/erpnext/patches/repair_tools/fix_naming_series_records_lost_by_reload.py
@@ -7,7 +7,7 @@
 import re
 from frappe.model.naming import make_autoname
 from frappe.utils import cint
-from frappe.utils.email_lib import sendmail_to_system_managers
+from frappe.email import sendmail_to_system_managers
 
 doctype_series_map = {
 	'Attendance': 'ATT-',
diff --git a/erpnext/patches/v4_0/create_custom_fields_for_india_specific_fields.py b/erpnext/patches/v4_0/create_custom_fields_for_india_specific_fields.py
index 9b07000..5bca5e6 100644
--- a/erpnext/patches/v4_0/create_custom_fields_for_india_specific_fields.py
+++ b/erpnext/patches/v4_0/create_custom_fields_for_india_specific_fields.py
@@ -3,7 +3,7 @@
 
 from __future__ import unicode_literals
 import frappe
-from frappe.core.doctype.custom_field.custom_field import create_custom_field_if_values_exist
+from frappe.custom.doctype.custom_field.custom_field import create_custom_field_if_values_exist
 
 def execute():
 	frappe.reload_doc("stock", "doctype", "purchase_receipt")
diff --git a/erpnext/patches/v4_0/import_country_codes.py b/erpnext/patches/v4_0/import_country_codes.py
index 4d1177e..e2e9f9d 100644
--- a/erpnext/patches/v4_0/import_country_codes.py
+++ b/erpnext/patches/v4_0/import_country_codes.py
@@ -3,7 +3,7 @@
 
 from __future__ import unicode_literals
 import frappe
-from frappe.country_info import get_all
+from frappe.geo.country_info import get_all
 from erpnext.setup.install import import_country_and_currency
 
 def execute():
diff --git a/erpnext/patches/v4_0/set_naming_series_property_setter.py b/erpnext/patches/v4_0/set_naming_series_property_setter.py
index 7161492..ffbfc24 100644
--- a/erpnext/patches/v4_0/set_naming_series_property_setter.py
+++ b/erpnext/patches/v4_0/set_naming_series_property_setter.py
@@ -4,7 +4,7 @@
 from __future__ import unicode_literals
 
 import frappe
-from frappe.core.doctype.property_setter.property_setter import make_property_setter
+from frappe.custom.doctype.property_setter.property_setter import make_property_setter
 
 doctype_series_map = {
 	'Attendance': 'ATT-',
diff --git a/erpnext/patches/v4_2/add_currency_turkish_lira.py b/erpnext/patches/v4_2/add_currency_turkish_lira.py
index f547661..d768d58 100644
--- a/erpnext/patches/v4_2/add_currency_turkish_lira.py
+++ b/erpnext/patches/v4_2/add_currency_turkish_lira.py
@@ -3,7 +3,7 @@
 
 from __future__ import unicode_literals
 import frappe
-from frappe.country_info import get_country_info
+from frappe.geo.country_info import get_country_info
 from erpnext.setup.install import add_country_and_currency
 
 def execute():
diff --git a/erpnext/selling/doctype/lead/get_leads.py b/erpnext/selling/doctype/lead/get_leads.py
index b765db6..a79ca60 100644
--- a/erpnext/selling/doctype/lead/get_leads.py
+++ b/erpnext/selling/doctype/lead/get_leads.py
@@ -4,7 +4,7 @@
 from __future__ import unicode_literals
 import frappe
 from frappe.utils import cstr, cint
-from frappe.utils.email_lib.receive import POP3Mailbox
+from frappe.email.receive import POP3Mailbox
 from frappe.core.doctype.communication.communication import _make
 
 def add_sales_communication(subject, content, sender, real_name, mail=None, 
diff --git a/erpnext/setup/doctype/backup_manager/backup_manager.py b/erpnext/setup/doctype/backup_manager/backup_manager.py
index ff4e115..99cae9a 100644
--- a/erpnext/setup/doctype/backup_manager/backup_manager.py
+++ b/erpnext/setup/doctype/backup_manager/backup_manager.py
@@ -57,7 +57,7 @@
 		send_email(False, "Google Drive", error_message)
 
 def send_email(success, service_name, error_status=None):
-	from frappe.utils.email_lib import sendmail
+	from frappe.email import sendmail
 	if success:
 		subject = "Backup Upload Successful"
 		message ="""<h3>Backup Uploaded Successfully</h3><p>Hi there, this is just to inform you 
diff --git a/erpnext/setup/doctype/country/README.md b/erpnext/setup/doctype/country/README.md
deleted file mode 100644
index 0e3f46c..0000000
--- a/erpnext/setup/doctype/country/README.md
+++ /dev/null
@@ -1 +0,0 @@
-Country Master.
\ No newline at end of file
diff --git a/erpnext/setup/doctype/country/__init__.py b/erpnext/setup/doctype/country/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/erpnext/setup/doctype/country/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/erpnext/setup/doctype/country/country.json b/erpnext/setup/doctype/country/country.json
deleted file mode 100644
index 1798ca1..0000000
--- a/erpnext/setup/doctype/country/country.json
+++ /dev/null
@@ -1,107 +0,0 @@
-{
- "allow_import": 1, 
- "autoname": "field:country_name", 
- "creation": "2013-01-19 10:23:30", 
- "docstatus": 0, 
- "doctype": "DocType", 
- "document_type": "Master", 
- "fields": [
-  {
-   "fieldname": "country_name", 
-   "fieldtype": "Data", 
-   "in_list_view": 1, 
-   "label": "Country Name", 
-   "oldfieldname": "country_name", 
-   "oldfieldtype": "Data", 
-   "permlevel": 0, 
-   "reqd": 1
-  }, 
-  {
-   "fieldname": "date_format", 
-   "fieldtype": "Data", 
-   "in_list_view": 1, 
-   "label": "Date Format", 
-   "permlevel": 0
-  }, 
-  {
-   "fieldname": "time_zones", 
-   "fieldtype": "Text", 
-   "in_list_view": 1, 
-   "label": "Time Zones", 
-   "permlevel": 0
-  }, 
-  {
-   "fieldname": "code", 
-   "fieldtype": "Data", 
-   "in_list_view": 1, 
-   "label": "Code", 
-   "permlevel": 0
-  }
- ], 
- "icon": "icon-globe", 
- "idx": 1, 
- "in_create": 0, 
- "modified": "2014-05-27 03:49:08.984710", 
- "modified_by": "Administrator", 
- "module": "Setup", 
- "name": "Country", 
- "owner": "Administrator", 
- "permissions": [
-  {
-   "amend": 0, 
-   "create": 1, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Sales Master Manager", 
-   "submit": 0, 
-   "write": 1
-  }, 
-  {
-   "create": 1, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Purchase Master Manager", 
-   "submit": 0, 
-   "write": 1
-  }, 
-  {
-   "apply_user_permissions": 1, 
-   "create": 1, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "HR User", 
-   "submit": 0, 
-   "write": 1
-  }, 
-  {
-   "create": 1, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "HR Manager", 
-   "submit": 0, 
-   "write": 1
-  }, 
-  {
-   "apply_user_permissions": 1, 
-   "email": 1, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "All"
-  }
- ], 
- "read_only": 0
-}
\ No newline at end of file
diff --git a/erpnext/setup/doctype/country/country.py b/erpnext/setup/doctype/country/country.py
deleted file mode 100644
index 5e16f51..0000000
--- a/erpnext/setup/doctype/country/country.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
-# License: GNU General Public License v3. See license.txt
-
-from __future__ import unicode_literals
-import frappe
-
-from frappe.model.document import Document
-
-class Country(Document):
-	pass
\ No newline at end of file
diff --git a/erpnext/setup/doctype/country/test_country.py b/erpnext/setup/doctype/country/test_country.py
deleted file mode 100644
index b261066..0000000
--- a/erpnext/setup/doctype/country/test_country.py
+++ /dev/null
@@ -1,6 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
-# License: GNU General Public License v3. See license.txt
-
-
-import frappe
-test_records = frappe.get_test_records('Country')
\ No newline at end of file
diff --git a/erpnext/setup/doctype/country/test_records.json b/erpnext/setup/doctype/country/test_records.json
deleted file mode 100644
index 5a7c8a5..0000000
--- a/erpnext/setup/doctype/country/test_records.json
+++ /dev/null
@@ -1,6 +0,0 @@
-[
- {
-  "country_name": "_Test Country", 
-  "doctype": "Country"
- }
-]
\ No newline at end of file
diff --git a/erpnext/setup/doctype/currency/README.md b/erpnext/setup/doctype/currency/README.md
deleted file mode 100644
index 3e1558e..0000000
--- a/erpnext/setup/doctype/currency/README.md
+++ /dev/null
@@ -1 +0,0 @@
-Currency Master with details about abbreviation, symbol etc.
\ No newline at end of file
diff --git a/erpnext/setup/doctype/currency/__init__.py b/erpnext/setup/doctype/currency/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/erpnext/setup/doctype/currency/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/erpnext/setup/doctype/currency/currency.js b/erpnext/setup/doctype/currency/currency.js
deleted file mode 100644
index 79343e9..0000000
--- a/erpnext/setup/doctype/currency/currency.js
+++ /dev/null
@@ -1,9 +0,0 @@
-// Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
-// License: GNU General Public License v3. See license.txt
-
-cur_frm.cscript.refresh = function(doc) {
-	cur_frm.set_intro("");
-	if(!cur_frm.doc.enabled) {
-		cur_frm.set_intro(__("This Currency is disabled. Enable to use in transactions"))
-	}
-}
\ No newline at end of file
diff --git a/erpnext/setup/doctype/currency/currency.json b/erpnext/setup/doctype/currency/currency.json
deleted file mode 100644
index ee7be19..0000000
--- a/erpnext/setup/doctype/currency/currency.json
+++ /dev/null
@@ -1,117 +0,0 @@
-{
- "autoname": "field:currency_name",
- "creation": "2013-01-28 10:06:02",
- "description": "**Currency** Master",
- "docstatus": 0,
- "doctype": "DocType",
- "fields": [
-  {
-   "fieldname": "currency_name",
-   "fieldtype": "Data",
-   "label": "Currency Name",
-   "oldfieldname": "currency_name",
-   "oldfieldtype": "Data",
-   "permlevel": 0,
-   "reqd": 1
-  },
-  {
-   "fieldname": "enabled",
-   "fieldtype": "Check",
-   "in_list_view": 1,
-   "label": "Enabled",
-   "permlevel": 0
-  },
-  {
-   "description": "Sub-currency. For e.g. \"Cent\"",
-   "fieldname": "fraction",
-   "fieldtype": "Data",
-   "in_list_view": 1,
-   "label": "Fraction",
-   "permlevel": 0
-  },
-  {
-   "description": "1 Currency = [?] Fraction\nFor e.g. 1 USD = 100 Cent",
-   "fieldname": "fraction_units",
-   "fieldtype": "Int",
-   "in_list_view": 1,
-   "label": "Fraction Units",
-   "permlevel": 0
-  },
-  {
-   "description": "A symbol for this currency. For e.g. $",
-   "fieldname": "symbol",
-   "fieldtype": "Data",
-   "in_list_view": 1,
-   "label": "Symbol",
-   "permlevel": 0
-  },
-  {
-   "description": "How should this currency be formatted? If not set, will use system defaults",
-   "fieldname": "number_format",
-   "fieldtype": "Select",
-   "in_list_view": 1,
-   "label": "Number Format",
-   "options": "\n#,###.##\n#.###,##\n# ###.##\n# ###,##\n#'###.##\n#, ###.##\n#,##,###.##\n#,###.###\n#.###\n#,###",
-   "permlevel": 0
-  }
- ],
- "icon": "icon-bitcoin",
- "idx": 1,
- "in_create": 0,
- "modified": "2014-06-18 03:49:09.038451",
- "modified_by": "Administrator",
- "module": "Setup",
- "name": "Currency",
- "owner": "Administrator",
- "permissions": [
-  {
-   "create": 1,
-   "delete": 1,
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
-   "role": "Accounts Manager",
-   "submit": 0,
-   "write": 1
-  },
-  {
-   "amend": 0,
-   "create": 1,
-   "delete": 1,
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
-   "role": "Sales Master Manager",
-   "submit": 0,
-   "write": 1
-  },
-  {
-   "amend": 0,
-   "create": 1,
-   "delete": 0,
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
-   "role": "Purchase Master Manager",
-   "submit": 0,
-   "write": 1
-  },
-  {
-   "apply_user_permissions": 1,
-   "delete": 0,
-   "email": 1,
-   "permlevel": 0,
-   "print": 1,
-   "read": 1,
-   "report": 1,
-   "role": "All"
-  }
- ],
- "read_only": 0
-}
diff --git a/erpnext/setup/doctype/currency/currency.py b/erpnext/setup/doctype/currency/currency.py
deleted file mode 100644
index abfbe19..0000000
--- a/erpnext/setup/doctype/currency/currency.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
-# License: GNU General Public License v3. See license.txt
-
-from __future__ import unicode_literals
-import frappe
-from frappe import throw, _
-
-from frappe.model.document import Document
-
-class Currency(Document):
-	def validate(self):
-		frappe.clear_cache()
-
-def validate_conversion_rate(currency, conversion_rate, conversion_rate_label, company):
-	"""common validation for currency and price list currency"""
-
-	company_currency = frappe.db.get_value("Company", company, "default_currency")
-
-	if not conversion_rate:
-		throw(_("{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}.").format(
-			conversion_rate_label, currency, company_currency))
diff --git a/erpnext/setup/doctype/currency/test_currency.py b/erpnext/setup/doctype/currency/test_currency.py
deleted file mode 100644
index f0c6cee..0000000
--- a/erpnext/setup/doctype/currency/test_currency.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd. and Contributors
-# License: GNU General Public License v3. See license.txt
-
-# pre loaded
-
-import frappe
-test_records = frappe.get_test_records('Currency')
\ No newline at end of file
diff --git a/erpnext/setup/doctype/currency/test_records.json b/erpnext/setup/doctype/currency/test_records.json
deleted file mode 100644
index 0637a08..0000000
--- a/erpnext/setup/doctype/currency/test_records.json
+++ /dev/null
@@ -1 +0,0 @@
-[]
\ No newline at end of file
diff --git a/erpnext/setup/doctype/email_digest/email_digest.py b/erpnext/setup/doctype/email_digest/email_digest.py
index 59a42cb..90ea22f 100644
--- a/erpnext/setup/doctype/email_digest/email_digest.py
+++ b/erpnext/setup/doctype/email_digest/email_digest.py
@@ -9,7 +9,7 @@
 from frappe.utils.dateutils import datetime_in_user_format
 from datetime import timedelta
 from dateutil.relativedelta import relativedelta
-from frappe.utils.email_lib import sendmail
+from frappe.email import sendmail
 from frappe.core.doctype.user.user import STANDARD_USERS
 
 content_sequence = [
diff --git a/erpnext/setup/doctype/global_defaults/global_defaults.py b/erpnext/setup/doctype/global_defaults/global_defaults.py
index a8905f1..e67ba444 100644
--- a/erpnext/setup/doctype/global_defaults/global_defaults.py
+++ b/erpnext/setup/doctype/global_defaults/global_defaults.py
@@ -6,7 +6,7 @@
 import frappe
 import frappe.defaults
 from frappe.utils import cint
-from frappe.core.doctype.property_setter.property_setter import make_property_setter
+from frappe.custom.doctype.property_setter.property_setter import make_property_setter
 
 keydict = {
 	# "key in defaults": "key in Global Defaults"
diff --git a/erpnext/setup/doctype/naming_series/naming_series.py b/erpnext/setup/doctype/naming_series/naming_series.py
index cb0d437..9278139 100644
--- a/erpnext/setup/doctype/naming_series/naming_series.py
+++ b/erpnext/setup/doctype/naming_series/naming_series.py
@@ -135,7 +135,7 @@
 			msgprint(_("Please select prefix first"))
 
 def set_by_naming_series(doctype, fieldname, naming_series, hide_name_field=True):
-	from frappe.core.doctype.property_setter.property_setter import make_property_setter
+	from frappe.custom.doctype.property_setter.property_setter import make_property_setter
 	if naming_series:
 		make_property_setter(doctype, "naming_series", "hidden", 0, "Check")
 		make_property_setter(doctype, "naming_series", "reqd", 1, "Check")
diff --git a/erpnext/setup/install.py b/erpnext/setup/install.py
index 0e8e58d..93f4ad5 100644
--- a/erpnext/setup/install.py
+++ b/erpnext/setup/install.py
@@ -13,7 +13,6 @@
 def after_install():
 	frappe.get_doc({'doctype': "Role", "role_name": "Analytics"}).insert()
 	set_single_defaults()
-	import_country_and_currency()
 	from erpnext.accounts.doctype.chart_of_accounts.import_charts import import_charts
 	import_charts()
 	frappe.db.set_default('desktop:home_page', 'setup-wizard')
@@ -22,38 +21,6 @@
 	add_all_roles_to("Administrator")
 	frappe.db.commit()
 
-def import_country_and_currency():
-	from frappe.country_info import get_all
-	data = get_all()
-
-	for name in data:
-		country = frappe._dict(data[name])
-		add_country_and_currency(name, country)
-
-	# enable frequently used currencies
-	for currency in ("INR", "USD", "GBP", "EUR", "AED", "AUD", "JPY", "CNY", "CHF"):
-		frappe.db.set_value("Currency", currency, "enabled", 1)
-
-def add_country_and_currency(name, country):
-	if not frappe.db.exists("Country", name):
-		frappe.get_doc({
-			"doctype": "Country",
-			"country_name": name,
-			"code": country.code,
-			"date_format": country.date_format or "dd-mm-yyyy",
-			"time_zones": "\n".join(country.timezones or [])
-		}).insert()
-
-	if country.currency and not frappe.db.exists("Currency", country.currency):
-		frappe.get_doc({
-			"doctype": "Currency",
-			"currency_name": country.currency,
-			"fraction": country.currency_fraction,
-			"symbol": country.currency_symbol,
-			"fraction_units": country.currency_fraction_units,
-			"number_format": country.number_format
-		}).insert()
-
 def feature_setup():
 	"""save global defaults and features setup"""
 	doc = frappe.get_doc("Features Setup", "Features Setup")
diff --git a/erpnext/setup/page/setup_wizard/setup_wizard.py b/erpnext/setup/page/setup_wizard/setup_wizard.py
index d3942e4..2750e21 100644
--- a/erpnext/setup/page/setup_wizard/setup_wizard.py
+++ b/erpnext/setup/page/setup_wizard/setup_wizard.py
@@ -8,7 +8,7 @@
 from frappe import _
 from frappe.utils.file_manager import save_file
 from frappe.translate import set_default_language, get_dict, get_lang_dict, send_translations
-from frappe.country_info import get_country_info
+from frappe.geo.country_info import get_country_info
 from frappe.utils.nestedset import get_root_of
 from default_website import website_maker
 import install_fixtures
diff --git a/erpnext/stock/utils.py b/erpnext/stock/utils.py
index 7264f36..3117290 100644
--- a/erpnext/stock/utils.py
+++ b/erpnext/stock/utils.py
@@ -6,7 +6,7 @@
 import json
 from frappe.utils import flt, cstr, nowdate, add_days, cint
 from frappe.defaults import get_global_default
-from frappe.utils.email_lib import sendmail
+from frappe.email import sendmail
 from erpnext.accounts.utils import get_fiscal_year, FiscalYearError
 
 class InvalidWarehouseCompany(frappe.ValidationError): pass
diff --git a/erpnext/support/doctype/newsletter/newsletter.py b/erpnext/support/doctype/newsletter/newsletter.py
index 15bf0da..1a9713f 100644
--- a/erpnext/support/doctype/newsletter/newsletter.py
+++ b/erpnext/support/doctype/newsletter/newsletter.py
@@ -94,7 +94,7 @@
 
 		sender = self.send_from or frappe.utils.get_formatted_email(self.owner)
 
-		from frappe.utils.email_lib.bulk import send
+		from frappe.email.bulk import send
 
 		if not frappe.flags.in_test:
 			frappe.db.auto_commit_on_many_writes = True
diff --git a/erpnext/support/doctype/support_email_settings/support_email_settings.py b/erpnext/support/doctype/support_email_settings/support_email_settings.py
index be88891..4b00c75 100644
--- a/erpnext/support/doctype/support_email_settings/support_email_settings.py
+++ b/erpnext/support/doctype/support_email_settings/support_email_settings.py
@@ -8,7 +8,7 @@
 from frappe import _
 from frappe.utils import cint
 from frappe.model.document import Document
-from frappe.utils.email_lib.receive import POP3Mailbox
+from frappe.email.receive import POP3Mailbox
 import _socket, poplib
 
 class SupportEmailSettings(Document):
diff --git a/erpnext/support/doctype/support_ticket/get_support_mails.py b/erpnext/support/doctype/support_ticket/get_support_mails.py
index 21f7c90..ee80a6c 100644
--- a/erpnext/support/doctype/support_ticket/get_support_mails.py
+++ b/erpnext/support/doctype/support_ticket/get_support_mails.py
@@ -4,8 +4,8 @@
 from __future__ import unicode_literals
 import frappe
 from frappe.utils import cstr, cint, decode_dict, today
-from frappe.utils.email_lib import sendmail
-from frappe.utils.email_lib.receive import POP3Mailbox
+from frappe.email import sendmail
+from frappe.email.receive import POP3Mailbox
 from frappe.core.doctype.communication.communication import _make
 
 class SupportMailbox(POP3Mailbox):
