diff --git a/src/Abstracts/EmailAbstract.php b/src/Abstracts/EmailAbstract.php
index 4b2612ec5a85cdf3fc815487900a3f876074563b..2e326eadfb8ab503ee18bfb08203ef69cc4fa99c 100644
--- a/src/Abstracts/EmailAbstract.php
+++ b/src/Abstracts/EmailAbstract.php
@@ -14,46 +14,54 @@ abstract class EmailAbstract implements EmailInterface {
     /**
      * @var array
      */
-    protected $recipients = [];
+    private $recipients = [];
 
     /**
      * @var array
      */
-    protected $placeholders = [];
+    private $placeholders = [];
 
     /**
      * @var string
      */
-    protected $subject = '';
+    private $subject = '';
 
     /**
      * @var string
      */
-    protected $heading = '';
+    private $heading = '';
 
     /**
      * @var array
      */
-    protected $attachments = [];
+    private $attachments = [];
 
     /**
      * @var string
      */
-    protected $content = '';
+    private $content = '';
 
     /**
      * @var string
      */
-    protected $type = 'html';
+    private $type = 'html';
 
     /**
      * @var array
      */
-    protected $headers = [];
+    private $headers = [ 'Content-Type: text/html; charset=UTF-8' ];
+
+    /**
+     * @var string
+     */
+    private $from_email;
+
+    /**
+     * @var string
+     */
+    private $from_name;
 
     /**
-     * Define unique email ID.
-     *
      * @return string
      */
     abstract public function get_id(): string;
@@ -69,14 +77,36 @@ abstract class EmailAbstract implements EmailInterface {
      * @return string
      */
     public function get_from(): string {
-        return '';
+        return sanitize_email( $this->from_email );
+    }
+
+    /**
+     * @param string $from_email
+     *
+     * @return self
+     */
+    public function set_from( string $from_email ): self {
+        $this->from_email = $from_email;
+
+        return $this;
+    }
+
+    /**
+     * @param string $from_name
+     *
+     * @return self
+     */
+    public function set_from_name( string $from_name ): self {
+        $this->from_name = $from_name;
+
+        return $this;
     }
 
     /**
      * @return string
      */
     public function get_from_name(): string {
-        return '';
+        return wp_specialchars_decode( esc_html( $this->from_name ), ENT_QUOTES );
     }
 
     /**
@@ -98,8 +128,6 @@ abstract class EmailAbstract implements EmailInterface {
     }
 
     /**
-     * Set placeholders.
-     *
      * @param array $placeholders
      *
      * @return self
@@ -111,8 +139,6 @@ abstract class EmailAbstract implements EmailInterface {
     }
 
     /**
-     * Get defined placeholders.
-     *
      * @return string[]
      */
     public function get_placeholders(): array {
@@ -120,8 +146,6 @@ abstract class EmailAbstract implements EmailInterface {
     }
 
     /**
-     * Get email subject.
-     *
      * @param string $subject
      *
      * @return self
@@ -133,8 +157,6 @@ abstract class EmailAbstract implements EmailInterface {
     }
 
     /**
-     * Get email subject.
-     *
      * @return string
      * @throws Exception
      */
@@ -147,8 +169,6 @@ abstract class EmailAbstract implements EmailInterface {
     }
 
     /**
-     * Set email heading.
-     *
      * @param string $heading
      *
      * @return self
@@ -160,8 +180,6 @@ abstract class EmailAbstract implements EmailInterface {
     }
 
     /**
-     * Get email heading.
-     *
      * @return string
      */
     public function get_heading(): string {
@@ -169,8 +187,6 @@ abstract class EmailAbstract implements EmailInterface {
     }
 
     /**
-     * Get valid recipients.
-     *
      * @param array $recipients
      *
      * @return self
@@ -182,8 +198,6 @@ abstract class EmailAbstract implements EmailInterface {
     }
 
     /**
-     * Get valid recipients.
-     *
      * @return string[]
      */
     public function get_recipients(): array {
@@ -191,8 +205,6 @@ abstract class EmailAbstract implements EmailInterface {
     }
 
     /**
-     * Get email headers.
-     *
      * @param array $headers
      *
      * @return self
@@ -204,8 +216,6 @@ abstract class EmailAbstract implements EmailInterface {
     }
 
     /**
-     * Get email headers.
-     *
      * @return string[]
      */
     public function get_headers(): array {
@@ -213,8 +223,6 @@ abstract class EmailAbstract implements EmailInterface {
     }
 
     /**
-     * Set attachments.
-     *
      * @param array $attachments
      *
      * @return self
@@ -226,8 +234,6 @@ abstract class EmailAbstract implements EmailInterface {
     }
 
     /**
-     * Get email attachments.
-     *
      * @return array
      */
     public function get_attachments(): array {
@@ -235,8 +241,6 @@ abstract class EmailAbstract implements EmailInterface {
     }
 
     /**
-     * Set email type.
-     *
      * @param string $type
      *
      * @return self
@@ -248,8 +252,6 @@ abstract class EmailAbstract implements EmailInterface {
     }
 
     /**
-     * Get email type.
-     *
      * @return string
      */
     public function get_type(): string {
@@ -257,8 +259,6 @@ abstract class EmailAbstract implements EmailInterface {
     }
 
     /**
-     * Get content type.
-     *
      * @return string
      */
     public function get_content_type(): string {
@@ -273,8 +273,6 @@ abstract class EmailAbstract implements EmailInterface {
     }
 
     /**
-     * Get email content.
-     *
      * @param string $content
      *
      * @return self
@@ -286,8 +284,6 @@ abstract class EmailAbstract implements EmailInterface {
     }
 
     /**
-     * Get email content.
-     *
      * @return string
      * @throws Exception
      */
@@ -296,8 +292,6 @@ abstract class EmailAbstract implements EmailInterface {
     }
 
     /**
-     * @param string $string
-     *
      * @return array|string|string[]
      */
     protected function replace_placeholders( string $string ): string {