Make email account patch
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index d5f2ccb..c03a545 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -89,6 +89,7 @@
 erpnext.patches.v4_2.fix_gl_entries_for_stock_transactions
 erpnext.patches.v4_2.update_requested_and_ordered_qty
 erpnext.patches.v4_2.party_model
+erpnext.patches.v4_4.make_email_accounts
 erpnext.patches.v5_0.update_frozen_accounts_permission_role
 erpnext.patches.v5_0.update_dn_against_doc_fields
-execute:frappe.db.sql("update `tabMaterial Request` set material_request_type = 'Material Transfer' where material_request_type = 'Transfer'")
\ No newline at end of file
+execute:frappe.db.sql("update `tabMaterial Request` set material_request_type = 'Material Transfer' where material_request_type = 'Transfer'")
diff --git a/erpnext/patches/v4_4/make_email_accounts.py b/erpnext/patches/v4_4/make_email_accounts.py
index 9e8538d..950b2a6 100644
--- a/erpnext/patches/v4_4/make_email_accounts.py
+++ b/erpnext/patches/v4_4/make_email_accounts.py
@@ -4,69 +4,72 @@
 	frappe.reload_doc("email", "doctype", "email_account")
 
 	# outgoing
-	outgoing = frappe.get_doc("Outgoing Email Settings")
-	account = frappe.new_doc("Email Account")
-	mapping = {
-		"email_id": "mail_login",
-		"password": "mail_password",
-		"footer": "footer",
-		"smtp_server": "mail_server",
-		"smtp_port": "mail_port",
-		"use_tls": "use_ssl"
-	}
-
-	for target_fieldname, source_fieldname in mapping.iteritems():
-		account.set(target_fieldname, outgoing.get(source_fieldname))
-
-	account.enable_outgoing = 1
-	account.enable_incoming = 0
-	account.is_global = 1
-
-	account.insert()
-
-	# support
-	support = frappe.get_doc("Support Email Settings")
-	account = frappe.new_doc("Email Account")
-	mapping = {
-		"enable_incoming": "sync_support_mails",
-		"email_id": "mail_login",
-		"password": "mail_password",
-		"pop3_server": "mail_server",
-		"use_ssl": "use_ssl",
-		"signature": "support_signature",
-		"enable_auto_reply": "send_autoreply",
-		"auto_reply_message": "support_autoreply"
-	}
-
-	for target_fieldname, source_fieldname in mapping.iteritems():
-		account.set(target_fieldname, support.get(source_fieldname))
-
-	account.enable_outgoing = 0
-	account.is_global = 1
-
-	account.insert()
-
-	# sales, jobs
-	for doctype in ("Sales Email Settings", "Jobs Email Settings"):
-		source = frappe.get_doc(doctype)
+	if frappe.db.exists("DocType", "Outgoing Email Settings"):
+		outgoing = dict(frappe.db.sql("select field, value from tabSingles where doctype='Outgoing Email Settings'"))
 		account = frappe.new_doc("Email Account")
 		mapping = {
-			"enable_incoming": "extract_emails",
-			"email_id": "username",
-			"password": "password",
-			"pop3_server": "host",
-			"use_ssl": "use_ssl",
+			"email_id": "mail_login",
+			"password": "mail_password",
+			"footer": "footer",
+			"smtp_server": "mail_server",
+			"smtp_port": "mail_port",
+			"use_tls": "use_ssl"
 		}
 
 		for target_fieldname, source_fieldname in mapping.iteritems():
-			account.set(target_fieldname, source.get(source_fieldname))
+			account.set(target_fieldname, outgoing.get(source_fieldname))
+
+		account.enable_outgoing = 1
+		account.enable_incoming = 0
+		account.is_global = 1
+
+		account.insert()
+
+	# support
+	if frappe.db.exists("DocType", "Support Email Settings"):
+		support = dict(frappe.db.sql("select field, value from tabSingles where doctype='Support Email Settings'"))
+		account = frappe.new_doc("Email Account")
+		mapping = {
+			"enable_incoming": "sync_support_mails",
+			"email_id": "mail_login",
+			"password": "mail_password",
+			"pop3_server": "mail_server",
+			"use_ssl": "use_ssl",
+			"signature": "support_signature",
+			"enable_auto_reply": "send_autoreply",
+			"auto_reply_message": "support_autoreply"
+		}
+
+		for target_fieldname, source_fieldname in mapping.iteritems():
+			account.set(target_fieldname, support.get(source_fieldname))
 
 		account.enable_outgoing = 0
 		account.is_global = 1
-		account.append_to = "Lead" if doctype=="Sales Email Settings" else "Job Applicant"
 
 		account.insert()
 
+	# sales, jobs
+	for doctype in ("Sales Email Settings", "Jobs Email Settings"):
+		if frappe.db.exists("DocType", doctype):
+			source = dict(frappe.db.sql("select field, value from tabSingles where doctype=%s", doctype))
+			account = frappe.new_doc("Email Account")
+			mapping = {
+				"enable_incoming": "extract_emails",
+				"email_id": "username",
+				"password": "password",
+				"pop3_server": "host",
+				"use_ssl": "use_ssl",
+			}
+
+			for target_fieldname, source_fieldname in mapping.iteritems():
+				account.set(target_fieldname, source.get(source_fieldname))
+
+			account.enable_outgoing = 0
+			account.is_global = 1
+			account.append_to = "Lead" if doctype=="Sales Email Settings" else "Job Applicant"
+
+			account.insert()
+
 	for doctype in ("Outgoing Email Settings", "Support Email Settings",
 		"Sales Email Settings", "Jobs Email Settings"):
 		frappe.delete_doc("DocType", doctype)