diff --git a/htdocs/admin/mails.php b/htdocs/admin/mails.php
index e5e531434ce94b59bf912c5d924f4142e8dad0ca..01f2736d718c477338e28f66d1818bd09682303c 100644
--- a/htdocs/admin/mails.php
+++ b/htdocs/admin/mails.php
@@ -393,13 +393,27 @@ if ($action == 'edit')
 	// Separator
 	$var=!$var;
 	print '<tr '.$bc[$var].'><td colspan="2">&nbsp;</td></tr>';
-
+	
 	// From
 	$var=!$var;
 	print '<tr '.$bc[$var].'><td>'.$langs->trans("MAIN_MAIL_EMAIL_FROM",ini_get('sendmail_from')?ini_get('sendmail_from'):$langs->transnoentities("Undefined")).'</td>';
 	print '<td><input class="flat" name="MAIN_MAIL_EMAIL_FROM" size="32" value="' . (! empty($conf->global->MAIN_MAIL_EMAIL_FROM)?$conf->global->MAIN_MAIL_EMAIL_FROM:'');
 	print '"></td></tr>';
 
+    // Default from type
+    $var=!$var;
+    $liste = array();
+    $liste['user'] = $langs->trans('UserEmail');
+    $liste['company'] = $langs->trans('CompanyEmail');
+
+    print '<tr '.$bc[$var?1:0].'><td>'.$langs->trans('MAIN_MAIL_DEFAULT_FROMTYPE').'</td><td>';
+    print $form->selectarray('MAIN_MAIL_DEFAULT_FROMTYPE',$liste,$conf->global->MAIN_MAIL_DEFAULT_FROMTYPE,0);
+    print '</td></tr>';
+
+    // Separator
+    $var=!$var;
+    print '<tr '.$bc[$var].'><td colspan="2">&nbsp;</td></tr>';
+    
 	// From
 	$var=!$var;
 	print '<tr '.$bc[$var].'><td>'.$langs->trans("MAIN_MAIL_ERRORS_TO").'</td>';
@@ -412,16 +426,6 @@ if ($action == 'edit')
 	print '<td><input class="flat" name="MAIN_MAIL_AUTOCOPY_TO" size="32" value="' . (! empty($conf->global->MAIN_MAIL_AUTOCOPY_TO)?$conf->global->MAIN_MAIL_AUTOCOPY_TO:'');
 	print '"></td></tr>';
 
-    // Default from type
-    $var=!$var;
-    $liste = array();
-    $liste['user'] = $langs->trans('User');
-    $liste['company'] = $langs->trans('Company');
-
-    print '<tr '.$bc[$var?1:0].'><td>'.$langs->trans('MAIN_MAIL_DEFAULT_FROMTYPE').'</td><td>';
-    print $form->selectarray('MAIN_MAIL_DEFAULT_FROMTYPE',$liste,$conf->global->MAIN_MAIL_DEFAULT_FROMTYPE,0);
-    print '</td></tr>';
-
     print '</table>';
 
     print '<br><div class="center">';
@@ -530,7 +534,22 @@ else
 	if (! empty($conf->global->MAIN_MAIL_EMAIL_FROM) && ! isValidEmail($conf->global->MAIN_MAIL_EMAIL_FROM)) print img_warning($langs->trans("ErrorBadEMail"));
 	print '</td></tr>';
 
-	// Errors To
+	// Default from type
+    $var=!$var;
+    print '<tr '.$bc[$var?1:0].'><td>'.$langs->trans('MAIN_MAIL_DEFAULT_FROMTYPE').'</td>';
+    print '<td>';
+    if($conf->global->MAIN_MAIL_DEFAULT_FROMTYPE === 'user'){
+        print $langs->trans('UserEmail');
+    } else {
+        print $langs->trans('CompanyEmail');
+    }
+    print '</td></tr>';
+
+	// Separator
+	$var=!$var;
+	print '<tr '.$bc[$var].'><td colspan="2">&nbsp;</td></tr>';
+
+    // Errors To
 	$var=!$var;
 	print '<tr '.$bc[$var].'><td>'.$langs->trans("MAIN_MAIL_ERRORS_TO").'</td>';
 	print '<td>'.$conf->global->MAIN_MAIL_ERRORS_TO;
@@ -552,18 +571,7 @@ else
 	}
 	print '</td></tr>';
 
-    //Default from type
-    $var=!$var;
-
-    print '<tr '.$bc[$var?1:0].'><td>'.$langs->trans('MAIN_MAIL_DEFAULT_FROMTYPE').'</td>';
-    print '<td>';
-    if($conf->global->MAIN_MAIL_DEFAULT_FROMTYPE === 'user'){
-        print $langs->trans('User');
-    } else {
-        print $langs->trans('Company');
-    }
-    print '</td></tr>';
-
+    
 	print '</table>';
 
     if ($conf->global->MAIN_MAIL_SENDMODE == 'mail' && empty($conf->global->MAIN_FIX_FOR_BUGGED_MTA))
@@ -583,6 +591,7 @@ else
    	    print info_admin($langs->trans("SendmailOptionMayHurtBuggedMTA"));
     }
 
+    
 	// Boutons actions
 	print '<div class="tabsAction">';
 
diff --git a/htdocs/core/actions_sendmails.inc.php b/htdocs/core/actions_sendmails.inc.php
index f5381301bce484de7264b582eb0ff1493db7b3cb..297fe373c0425fa446c0a0e611defd81168d5e8c 100644
--- a/htdocs/core/actions_sendmails.inc.php
+++ b/htdocs/core/actions_sendmails.inc.php
@@ -201,11 +201,20 @@ if (($action == 'send' || $action == 'relance') && ! $_POST['addfile'] && ! $_PO
 		{
 			$langs->load("commercial");
 
-            if(GETPOST('fromtype')==='user'){
+			$fromtype = GETPOST('fromtype');
+            if ($fromtype === 'user') {
                 $from = $user->getFullName($langs) .' <'.$user->email.'>';
-
-            }elseif( GETPOST('fromtype')==='company'){
+            }
+            elseif ($fromtype === 'company') {
                 $from = $conf->global->MAIN_INFO_SOCIETE_NOM .' <'.$conf->global->MAIN_INFO_SOCIETE_MAIL.'>';
+            }
+		    elseif (preg_match('/user_aliases_(\d+)/', $fromtype, $reg)) {
+		        $tmp=explode(',', $user->email_aliases);
+                $from = trim($tmp[($reg[1] - 1)]);
+            }
+		    elseif (preg_match('/global_aliases_(\d+)/', $fromtype, $reg)) {
+                $tmp=explode(',', $conf->global->MAIN_INFO_SOCIETE_MAIL_ALIASES);
+                $from = trim($tmp[($reg[1] - 1)]);
             }
             else {
                 $from = $_POST['fromname'] . ' <' . $_POST['frommail'] .'>';
diff --git a/htdocs/core/class/html.formmail.class.php b/htdocs/core/class/html.formmail.class.php
index fcd6f559332dc11c4c74ee03636fdb5d5e8fc6ee..47cc7cd9d899ee8d032b302ea0a276401b185565 100644
--- a/htdocs/core/class/html.formmail.class.php
+++ b/htdocs/core/class/html.formmail.class.php
@@ -371,8 +371,12 @@ class FormMail extends Form
         			$out.= '<input type="hidden" id="frommail" name="frommail" value="'.$this->frommail.'" />';
         			$out.= '<tr><td width="180">'.$langs->trans("MailFrom").'</td><td>';
 
-                    if (!($this->fromtype === 'user' && $this->fromid > 0) && !($this->fromtype === 'company'))
+                    if (! ($this->fromtype === 'user' && $this->fromid > 0)
+                        && ! ($this->fromtype === 'company')
+                        && ! preg_match('/user_aliases/', $this->fromtype)
+                        && ! preg_match('/global_aliases/', $this->fromtype))
                     {
+                        // Use this->fromname and this->frommail or error if not defined
                         $out.= $this->fromname;
                         if ($this->frommail)
                         {
@@ -386,14 +390,32 @@ class FormMail extends Form
                                 $out.= '<span class="warning"> &lt;'.$langs->trans('ErrorNoMailDefinedForThisUser').'&gt; </span>';
                             }
                         }
-                    }else{
+                    } else {
                         $liste = array();
                         $liste['user'] = $user->getFullName($langs) .' &lt;'.$user->email.'&gt;';
                         $liste['company'] = $conf->global->MAIN_INFO_SOCIETE_NOM .' &lt;'.$conf->global->MAIN_INFO_SOCIETE_MAIL.'&gt;';
+                        // Add also email aliases if there is one
+                        $listaliases=array('user_aliases'=>$user->email_aliases, 'global_aliases'=>$conf->global->MAIN_INFO_SOCIETE_MAIL_ALIASES);
+                        foreach($listaliases as $typealias => $listalias)
+                        {
+                            $posalias=0;
+                            $listaliasarray=explode(',', $listalias);
+                            foreach ($listaliasarray as $listaliasval)
+                            {
+                                $posalias++;
+                                $listaliasval=trim($listaliasval);
+                                if ($listaliasval) 
+                                {
+                                    $listaliasval=preg_replace('/</', '&lt;', $listaliasval);
+                                    $listaliasval=preg_replace('/>/', '&gt;', $listaliasval);
+                                    if (! preg_match('/&lt;/', $listaliasval)) $listaliasval='&lt;'.$listaliasval.'&gt;';
+                                    $liste[$typealias.'_'.$posalias]=$listaliasval;
+                                }
+                            }
+                        }
                         $out.= ' '.$form->selectarray('fromtype', $liste, $this->fromtype, 0);
                     }
 
-
         			$out.= "</td></tr>\n";
         			$out.= "</td></tr>\n";
         		}
diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang
index 579eb2c575a3721cf7e4ee6be357e446199c3449..3437a96a2a67ae7462c3a8cdce99758203443a98 100644
--- a/htdocs/langs/en_US/admin.lang
+++ b/htdocs/langs/en_US/admin.lang
@@ -244,7 +244,9 @@ MAIN_MAIL_EMAIL_STARTTLS= Use TLS (STARTTLS) encrypt
 MAIN_DISABLE_ALL_SMS=Disable all SMS sendings (for test purposes or demos)
 MAIN_SMS_SENDMODE=Method to use to send SMS
 MAIN_MAIL_SMS_FROM=Default sender phone number for Sms sending
-MAIN_MAIL_DEFAULT_FROMTYPE=Email to be used by default (User / Company)
+MAIN_MAIL_DEFAULT_FROMTYPE=Sender e-mail by default for manual sendings (User email or Company email)
+UserEmail=User email
+CompanyEmail=Company email
 FeatureNotAvailableOnLinux=Feature not available on Unix like systems. Test your sendmail program locally.
 SubmitTranslation=If translation for this language is not complete or you find errors, you can correct this by editing files into directory <b>langs/%s</b> and submit your change to www.transifex.com/dolibarr-association/dolibarr/
 SubmitTranslationENUS=If translation for this language is not complete or you find errors, you can correct this by editing files into directory <b>langs/%s</b> and submit modified files on dolibarr.org/forum or for developers on github.com/Dolibarr/dolibarr.