diff --git a/server/admin/api_user.go b/server/admin/api_user.go
index 8442ee7..a1797f5 100644
--- a/server/admin/api_user.go
+++ b/server/admin/api_user.go
@@ -227,12 +227,19 @@ func userAccountMail(user *dbdata.User) error {
 		return err
 	}
 
+	setting := &dbdata.SettingOther{}
+	err = dbdata.SettingGet(setting)
+	if err != nil {
+		base.Error(err)
+		return err
+	}
+
 	data := userAccountMailData{
-		LinkAddr: base.Cfg.LinkAddr,
+		LinkAddr: setting.LinkAddr,
 		Group:    strings.Join(user.Groups, ","),
 		Username: user.Username,
 		PinCode:  user.PinCode,
-		OtpImg:   fmt.Sprintf("https://%s/otp_qr?id=%d&jwt=%s", base.Cfg.LinkAddr, user.Id, tokenString),
+		OtpImg:   fmt.Sprintf("https://%s/otp_qr?id=%d&jwt=%s", setting.LinkAddr, user.Id, tokenString),
 	}
 	w := bytes.NewBufferString("")
 	t, _ := template.New("auth_complete").Parse(htmlBody)
diff --git a/server/base/cfg.go b/server/base/cfg.go
index 804c374..9f7ec6d 100644
--- a/server/base/cfg.go
+++ b/server/base/cfg.go
@@ -30,7 +30,7 @@ var (
 // rekey-method = ssl
 
 type ServerConfig struct {
-	LinkAddr      string `json:"link_addr"`
+	// LinkAddr      string `json:"link_addr"`
 	ServerAddr    string `json:"server_addr"`
 	AdminAddr     string `json:"admin_addr"`
 	ProxyProtocol bool   `json:"proxy_protocol"`
diff --git a/server/base/config.go b/server/base/config.go
index 0c80780..fd3ed8e 100644
--- a/server/base/config.go
+++ b/server/base/config.go
@@ -16,7 +16,6 @@ type config struct {
 }
 
 var configs = []config{
-	{Typ: cfgStr, Name: "link_addr", Usage: "vpn服务对外地址", ValStr: "vpn.xx.com"},
 	{Typ: cfgStr, Name: "server_addr", Usage: "前台服务监听地址", ValStr: ":443"},
 	{Typ: cfgStr, Name: "admin_addr", Usage: "后台服务监听地址", ValStr: ":8800"},
 	{Typ: cfgBool, Name: "proxy_protocol", Usage: "TCP代理协议", ValBool: false},
diff --git a/server/conf/server.toml b/server/conf/server.toml
index cac13f3..4560290 100644
--- a/server/conf/server.toml
+++ b/server/conf/server.toml
@@ -21,12 +21,9 @@ issuer = "XX公司VPN"
 admin_user = "admin"
 #pass 123456
 admin_pass = "$2a$10$UQ7C.EoPifDeJh6d8.31TeSPQU7hM/NOM2nixmBucJpAuXDQNqNke"
-jwt_secret = "iLmspvOiz*%ovfcs*wersdf#^heR8pNU^4XxBm&mW$aPCjSRMbYH#&"
+jwt_secret = "iLmspvOiz*%ovfcs*wersdf#heR8pNU4XxBm&mW$aPCjSRMbYH#&"
 
 
-#vpn服务对外地址,影响开通邮件二维码
-link_addr = "vpn.xx.com"
-
 #前台服务监听地址
 server_addr = ":443"
 #后台服务监听地址
diff --git a/server/dbdata/db.go b/server/dbdata/db.go
index e9a772e..52c4c41 100644
--- a/server/dbdata/db.go
+++ b/server/dbdata/db.go
@@ -55,6 +55,7 @@ func initData() {
 	_ = SettingSet(smtp)
 
 	other := &SettingOther{
+		LinkAddr:    "vpn.xx.com",
 		Banner:      "您已接入公司网络,请按照公司规定使用。\n请勿进行非工作下载及视频行为!",
 		AccountMail: accountMail,
 	}
diff --git a/server/dbdata/setting.go b/server/dbdata/setting.go
index 5db2f81..a03b015 100644
--- a/server/dbdata/setting.go
+++ b/server/dbdata/setting.go
@@ -42,6 +42,7 @@ type SettingSmtp struct {
 }
 
 type SettingOther struct {
+	LinkAddr    string `json:"link_addr"`
 	Banner      string `json:"banner"`
 	AccountMail string `json:"account_mail"`
 }
diff --git a/web/src/pages/set/Other.vue b/web/src/pages/set/Other.vue
index 4b0e1b7..7fd905f 100644
--- a/web/src/pages/set/Other.vue
+++ b/web/src/pages/set/Other.vue
@@ -30,6 +30,14 @@
 
       <el-tab-pane label="其他设置" name="dataOther">
         <el-form :model="dataOther" ref="dataOther" :rules="rules" label-width="100px" class="tab-one">
+
+          <el-form-item label="vpn对外地址" prop="link_addr">
+            <el-input
+                placeholder="请输入内容"
+                v-model="dataOther.link_addr">
+            </el-input>
+          </el-form-item>
+
           <el-form-item label="Banner信息" prop="banner">
             <el-input
                 type="textarea"