diff --git a/support/doctype/newsletter/newsletter.js b/support/doctype/newsletter/newsletter.js
index 1f75edc..69881cd 100644
--- a/support/doctype/newsletter/newsletter.js
+++ b/support/doctype/newsletter/newsletter.js
@@ -23,4 +23,9 @@
 			});
 		})
 	}
+
+	if(doc.__islocal && !doc.send_from) {
+		cur_frm.set_value("send_from", 
+			repl("%(fullname)s <%(email)s>", wn.user_info(doc.owner)));
+	}
 }
\ No newline at end of file
diff --git a/support/doctype/newsletter/newsletter.py b/support/doctype/newsletter/newsletter.py
index 536b649..c4b622a 100644
--- a/support/doctype/newsletter/newsletter.py
+++ b/support/doctype/newsletter/newsletter.py
@@ -20,6 +20,7 @@
 import webnotes.utils
 from webnotes.utils import cstr
 from webnotes.model.doc import Document
+from webnotes import _
 
 class DocType():
 	def __init__(self, d, dl):
@@ -51,7 +52,7 @@
 		"""send emails to leads and customers"""
 		if self.doc.email_sent:
 			webnotes.msgprint("""Newsletter has already been sent""", raise_exception=1)
-		
+
 		self.all_recipients = []
 		self.send_count = {}
 		
@@ -82,8 +83,11 @@
 			", ".join(["%d %s(s)" % (self.send_count[s], s) for s in self.send_count]))
 			
 	def test_send(self, doctype="Lead"):
+		self.validate_send()
+
 		args = self.dt_map[doctype]
-		sender = webnotes.utils.get_email_id(self.doc.owner)
+
+		sender = self.doc.send_from or webnotes.utils.get_email_id(self.doc.owner)
 		recipients = self.doc.test_email_id.split(",")
 		from webnotes.utils.email_lib.bulk import send
 		send(recipients = recipients, sender = sender, 
@@ -98,12 +102,14 @@
 		return recipients
 		
 	def send(self, query_key, doctype):
+		self.validate_send()
+
 		webnotes.conn.auto_commit_on_many_writes = True
 		if isinstance(query_key, basestring) and self.query_map.has_key(query_key):
 			recipients = self.get_recipients(query_key)
 		else:
 			recipients = query_key
-		sender = webnotes.utils.get_email_id(self.doc.owner)
+		sender = self.doc.send_from or webnotes.utils.get_email_id(self.doc.owner)
 		args = self.dt_map[doctype]
 		self.send_count[doctype] = self.send_count.setdefault(doctype, 0) + \
 			len(recipients)
@@ -112,7 +118,17 @@
 		send(recipients = recipients, sender = sender, 
 			subject = self.doc.subject, message = self.doc.message,
 			doctype = doctype, email_field = args["email_field"])
-			
+
+	def validate_send(self):
+		if self.doc.fields.get("__islocal"):
+			webnotes.msgprint(_("""Please save the Newsletter before sending."""),
+				raise_exception=1)
+
+		import conf
+		if getattr(conf, "status", None) == "Trial":
+			webnotes.msgprint(_("""Sending newsletters is not allowed for Trial users, \
+				to prevent abuse of this feature."""), raise_exception=1)
+
 lead_naming_series = None
 def create_lead(email_id):
 	"""create a lead if it does not exist"""
diff --git a/support/doctype/newsletter/newsletter.txt b/support/doctype/newsletter/newsletter.txt
index 68fbabb..4382379 100644
--- a/support/doctype/newsletter/newsletter.txt
+++ b/support/doctype/newsletter/newsletter.txt
@@ -2,9 +2,9 @@
  {
   "owner": "Administrator", 
   "docstatus": 0, 
-  "creation": "2012-12-07 15:15:31", 
+  "creation": "2013-01-01 13:46:34", 
   "modified_by": "Administrator", 
-  "modified": "2013-01-01 10:54:40"
+  "modified": "2013-01-02 13:03:29"
  }, 
  {
   "autoname": "naming_series:", 
@@ -108,6 +108,15 @@
   "permlevel": 0
  }, 
  {
+  "description": "If specified, send the newsletter using this email address", 
+  "no_copy": 1, 
+  "doctype": "DocField", 
+  "label": "Send From", 
+  "fieldname": "send_from", 
+  "fieldtype": "Data", 
+  "permlevel": 0
+ }, 
+ {
   "doctype": "DocField", 
   "label": "Subject", 
   "fieldname": "subject", 
