Browse Source

Updated SMTP UI

Toby Chui 10 months ago
parent
commit
51849bfcaa
4 changed files with 7 additions and 44 deletions
  1. 0 7
      emails.go
  2. 1 1
      main.go
  3. 3 9
      mod/email/email.go
  4. 3 27
      web/components/utils.html

+ 0 - 7
emails.go

@@ -25,12 +25,6 @@ func HandleSMTPSet(w http.ResponseWriter, r *http.Request) {
 		return
 	}
 
-	domain, err := utils.PostPara(r, "domain")
-	if err != nil {
-		//Assume domain is empty, raised by issue #129
-		domain = ""
-	}
-
 	portString, err := utils.PostPara(r, "port")
 	if err != nil {
 		utils.SendErrorResponse(w, "port must be a valid integer")
@@ -76,7 +70,6 @@ func HandleSMTPSet(w http.ResponseWriter, r *http.Request) {
 	//Set the email sender properties
 	thisEmailSender := email.Sender{
 		Hostname:   strings.TrimSpace(hostname),
-		Domain:     strings.TrimSpace(domain),
 		Port:       port,
 		Username:   strings.TrimSpace(username),
 		Password:   strings.TrimSpace(password),

+ 1 - 1
main.go

@@ -53,7 +53,7 @@ var (
 	name        = "Zoraxy"
 	version     = "3.0.3"
 	nodeUUID    = "generic"
-	development = false //Set this to false to use embedded web fs
+	development = true //Set this to false to use embedded web fs
 	bootTime    = time.Now().Unix()
 
 	/*

+ 3 - 9
mod/email/email.go

@@ -13,7 +13,6 @@ import (
 
 type Sender struct {
 	Hostname   string //E.g. mail.gandi.net
-	Domain     string //E.g. arozos.com
 	Port       int    //E.g. 587
 	Username   string //Username of the email account
 	Password   string //Password of the email account
@@ -21,10 +20,9 @@ type Sender struct {
 }
 
 // Create a new email sender object
-func NewEmailSender(hostname string, domain string, port int, username string, password string, senderAddr string) *Sender {
+func NewEmailSender(hostname string, port int, username string, password string, senderAddr string) *Sender {
 	return &Sender{
 		Hostname:   hostname,
-		Domain:     domain,
 		Port:       port,
 		Username:   username,
 		Password:   password,
@@ -52,12 +50,8 @@ func (s *Sender) SendEmail(to string, subject string, content string) error {
 		content + "\n\n")
 
 	//Login to the SMTP server
-	var auth smtp.Auth
-	if s.Domain == "" {
-		auth = smtp.PlainAuth("", s.Username, s.Password, s.Hostname)
-	} else {
-		auth = smtp.PlainAuth("", s.Username+"@"+s.Domain, s.Password, s.Hostname)
-	}
+	//Username can be username (e.g. admin) or email (e.g. [email protected]), depending on SMTP service provider
+	auth := smtp.PlainAuth("", s.Username, s.Password, s.Hostname)
 
 	err := smtp.SendMail(s.Hostname+":"+strconv.Itoa(s.Port), auth, s.SenderAddr, []string{to}, msg)
 	if err != nil {

+ 3 - 27
web/components/utils.html

@@ -65,21 +65,9 @@
     
                 <div class="field">
                     <p><i class="caret down icon"></i> Credentials for SMTP server authentications</p>
-                    <div class="two fields">
-                        <div class="field">
-                            <label>Sender Username</label>
-                            <input type="text" name="username" placeholder="E.g. admin">
-                        </div>
-                    
-                        <div class="field">
-                            <label>Sender Domain</label>
-                            <div class="ui labeled input">
-                                <div class="ui basic label">
-                                  @
-                                </div>
-                                <input type="text" name="domain" min="1" max="65534" placeholder="E.g. arozos.com">
-                            </div>
-                        </div>
+                    <div class="field">
+                        <label>Sender Username / Email</label>
+                        <input type="text" name="username" placeholder="e.g. admin or [email protected]">
                     </div>
                 </div>
                 <div class="field">
@@ -272,7 +260,6 @@
         e.preventDefault();
         var data = {
             hostname: $('input[name=hostname]').val(),
-            domain: $('input[name=domain]').val(),
             port: parseInt($('input[name=port]').val()),
             username: $('input[name=username]').val(),
             password: $('input[name=password]').val(),
@@ -306,7 +293,6 @@
     function initSMTPSettings(){
         $.get("/api/tools/smtp/get", function(data){
             $('#email-form input[name=hostname]').val(data.Hostname);
-            $('#email-form input[name=domain]').val(data.Domain);
             $('#email-form input[name=port]').val(data.Port);
             $('#email-form input[name=username]').val(data.Username);
             $('#email-form input[name=senderAddr]').val(data.SenderAddr);
@@ -345,16 +331,6 @@
             form.find('input[name="hostname"]').parent().removeClass('error');
         }
 
-        // validate domain, now allow empty string (for smtp that dont use domain as input)
-        /*
-        const domain = form.find('input[name="domain"]').val().trim();
-        if (!domainRegex.test(domain)) {
-            form.find('input[name="domain"]').parent().addClass('error');
-            isValid = false;
-        } else {
-            form.find('input[name="domain"]').parent().removeClass('error');
-        }
-        */
 
         // validate username
         const username = form.find('input[name="username"]').val().trim();