Cannot send test email

Hi, all. I have a problem.
After I change the email, metabase cannot send a email.
My STMP HOST : smtp.exmail.aSite.com

error message in terminal

2020-12-28 15:36:16,381 ERROR middleware.log :: POST /api/email/test 500 573.0 ms(1个数据库调用)
{:via [{:type java.lang.IllegalArgumentException, :message "No matching clause: 501 ÇëµÇ¼exmail.aSite.comÐÞ¸ÄÃÜÂë \n", :at [metabase.api.email$humanize_error_messages invokeStatic "email.clj" 35]}],
 :trace
 [[metabase.api.email$humanize_error_messages invokeStatic "email.clj" 35]
  [metabase.api.email$humanize_error_messages invoke "email.clj" 26]
  [metabase.api.email$fn__60447 invokeStatic "email.clj" 116]
  [metabase.api.email$fn__60447 invoke "email.clj" 104]
  [compojure.core$wrap_response$fn__1993 invoke "core.clj" 160]
  [compojure.core$wrap_route_middleware$fn__1977 invoke "core.clj" 132]
  [compojure.core$wrap_route_info$fn__1982 invoke "core.clj" 139]
  [compojure.core$wrap_route_matches$fn__1986 invoke "core.clj" 151]
  [compojure.core$routes$fn__2005$f__2006 invoke "core.clj" 198]
  [compojure.core$routes$fn__2005 invoke "core.clj" 200]
  [metabase.middleware.auth$enforce_authentication$fn__72906 invoke "auth.clj" 14]
  [compojure.core$routes$fn__2005$f__2006 invoke "core.clj" 198]
  [compojure.core$routes$fn__2005 invoke "core.clj" 200]
  [compojure.core$make_context$handler__2033 invoke "core.clj" 287]
  [compojure.core$make_context$fn__2035 invoke "core.clj" 296]
  [compojure.core$routes$fn__2005$f__2006 invoke "core.clj" 198]
  [compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007 invoke "core.clj" 197]
  [compojure.core$make_context$fn__2035 invoke "core.clj" 297]
  [compojure.core$routes$fn__2005$f__2006 invoke "core.clj" 198]
  [compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007 invoke "core.clj" 197]
  [compojure.core$make_context$fn__2035 invoke "core.clj" 297]
  [compojure.core$routes$fn__2005$f__2006 invoke "core.clj" 198]
  [compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007 invoke "core.clj" 197]
  [compojure.core$make_context$fn__2035 invoke "core.clj" 297]
  [compojure.core$routes$fn__2005$f__2006 invoke "core.clj" 198]
  [compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007 invoke "core.clj" 197]
  [compojure.core$make_context$fn__2035 invoke "core.clj" 297]
  [compojure.core$routes$fn__2005$f__2006 invoke "core.clj" 198]
  [compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007 invoke "core.clj" 197]
  [compojure.core$make_context$fn__2035 invoke "core.clj" 297]
  [compojure.core$routes$fn__2005$f__2006 invoke "core.clj" 198]
  [compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007 invoke "core.clj" 197]
  [compojure.core$make_context$fn__2035 invoke "core.clj" 297]
  [compojure.core$routes$fn__2005$f__2006 invoke "core.clj" 198]
  [compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007 invoke "core.clj" 197]
  [compojure.core$make_context$fn__2035 invoke "core.clj" 297]
  [compojure.core$routes$fn__2005$f__2006 invoke "core.clj" 198]
  [compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007 invoke "core.clj" 197]
  [compojure.core$make_context$fn__2035 invoke "core.clj" 297]
  [compojure.core$routes$fn__2005$f__2006 invoke "core.clj" 198]
  [compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007 invoke "core.clj" 197]
  [metabase.api.routes$fn__73027$fn__73029 invoke "routes.clj" 73]
  [compojure.core$routes$fn__2005$f__2006 invoke "core.clj" 198]
  [compojure.core$routes$fn__2005 invoke "core.clj" 200]
  [clojure.lang.AFn applyToHelper "AFn.java" 160]
  [clojure.lang.AFn applyTo "AFn.java" 144]
  [clojure.core$apply invokeStatic "core.clj" 665]
  [clojure.core$apply invoke "core.clj" 660]
  [metabase.routes$fn__74355$fn__74356 doInvoke "routes.clj" 60]
  [clojure.lang.RestFn invoke "RestFn.java" 436]
  [compojure.core$routes$fn__2005$f__2006 invoke "core.clj" 198]
  [compojure.core$routes$fn__2005 invoke "core.clj" 200]
  [compojure.core$make_context$handler__2033 invoke "core.clj" 287]
  [compojure.core$make_context$fn__2035 invoke "core.clj" 296]
  [compojure.core$routes$fn__2005$f__2006 invoke "core.clj" 198]
  [compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007 invoke "core.clj" 197]
  [compojure.core$wrap_route_matches$fn__1986 invoke "core.clj" 153]
  [compojure.core$routes$fn__2005$f__2006 invoke "core.clj" 198]
  [compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007 invoke "core.clj" 197]
  [compojure.core$wrap_route_matches$fn__1986 invoke "core.clj" 153]
  [compojure.core$routes$fn__2005$f__2006 invoke "core.clj" 198]
  [compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007 invoke "core.clj" 197]
  [compojure.core$wrap_route_matches$fn__1986 invoke "core.clj" 153]
  [compojure.core$routes$fn__2005$f__2006 invoke "core.clj" 198]
  [compojure.core$routes$fn__2005$f__2006$respond_SINGLEQUOTE___2007 invoke "core.clj" 197]
  [metabase.routes$fn__74343$fn__74345 invoke "routes.clj" 44]
  [compojure.core$routes$fn__2005$f__2006 invoke "core.clj" 198]
  [compojure.core$routes$fn__2005 invoke "core.clj" 200]
  [metabase.middleware.exceptions$catch_uncaught_exceptions$fn__73018 invoke "exceptions.clj" 96]
  [metabase.middleware.exceptions$catch_api_exceptions$fn__73015 invoke "exceptions.clj" 84]
  [metabase.middleware.log$log_api_call$fn__74803$fn__74804 invoke "log.clj" 197]
  [toucan.db$_do_with_call_counting invokeStatic "db.clj" 216]
  [toucan.db$_do_with_call_counting invoke "db.clj" 209]
  [metabase.middleware.log$log_api_call$fn__74803 invoke "log.clj" 191]
  [metabase.middleware.security$add_security_headers$fn__72981 invoke "security.clj" 143]
  [metabase.middleware.json$wrap_json_body$fn__74506 invoke "json.clj" 64]
  [metabase.middleware.json$wrap_streamed_json_response$fn__74524 invoke "json.clj" 100]
  [ring.middleware.keyword_params$wrap_keyword_params$fn__75069 invoke "keyword_params.clj" 55]
  [ring.middleware.params$wrap_params$fn__75085 invoke "params.clj" 69]
  [metabase.middleware.misc$maybe_set_site_url$fn__34511 invoke "misc.clj" 59]
  [metabase.middleware.session$bind_current_user$fn__69485$fn__69486 invoke "session.clj" 278]
  [metabase.middleware.session$do_with_current_user invokeStatic "session.clj" 260]
  [metabase.middleware.session$do_with_current_user invoke "session.clj" 252]
  [metabase.middleware.session$bind_current_user$fn__69485 invoke "session.clj" 277]
  [metabase.middleware.session$wrap_current_user_info$fn__69472 invoke "session.clj" 238]
  [metabase.middleware.session$wrap_session_id$fn__69458 invoke "session.clj" 184]
  [metabase.middleware.auth$wrap_api_key$fn__72914 invoke "auth.clj" 27]
  [ring.middleware.cookies$wrap_cookies$fn__74989 invoke "cookies.clj" 216]
  [metabase.middleware.misc$add_content_type$fn__34496 invoke "misc.clj" 28]
  [metabase.middleware.misc$disable_streaming_buffering$fn__34519 invoke "misc.clj" 76]
  [ring.middleware.gzip$wrap_gzip$fn__75031 invoke "gzip.clj" 86]
  [metabase.middleware.misc$bind_request$fn__34522 invoke "misc.clj" 93]
  [metabase.middleware.ssl$redirect_to_https_middleware$fn__74820 invoke "ssl.clj" 39]
  [metabase.server$async_proxy_handler$fn__74581 invoke "server.clj" 72]
  [metabase.server.proxy$org.eclipse.jetty.server.handler.AbstractHandler$ff19274a handle nil -1]
  [org.eclipse.jetty.server.handler.HandlerWrapper handle "HandlerWrapper.java" 127]
  [org.eclipse.jetty.server.Server handle "Server.java" 516]
  [org.eclipse.jetty.server.HttpChannel lambda$handle$1 "HttpChannel.java" 383]
  [org.eclipse.jetty.server.HttpChannel dispatch "HttpChannel.java" 556]
  [org.eclipse.jetty.server.HttpChannel handle "HttpChannel.java" 375]
  [org.eclipse.jetty.server.HttpConnection onFillable "HttpConnection.java" 273]
  [org.eclipse.jetty.io.AbstractConnection$ReadCallback succeeded "AbstractConnection.java" 311]
  [org.eclipse.jetty.io.FillInterest fillable "FillInterest.java" 105]
  [org.eclipse.jetty.io.ChannelEndPoint$1 run "ChannelEndPoint.java" 104]
  [org.eclipse.jetty.util.thread.strategy.EatWhatYouKill runTask "EatWhatYouKill.java" 336]
  [org.eclipse.jetty.util.thread.strategy.EatWhatYouKill doProduce "EatWhatYouKill.java" 313]
  [org.eclipse.jetty.util.thread.strategy.EatWhatYouKill tryProduce "EatWhatYouKill.java" 171]
  [org.eclipse.jetty.util.thread.strategy.EatWhatYouKill run "EatWhatYouKill.java" 129]
  [org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread run "ReservedThreadExecutor.java" 375]
  [org.eclipse.jetty.util.thread.QueuedThreadPool runJob "QueuedThreadPool.java" 773]
  [org.eclipse.jetty.util.thread.QueuedThreadPool$Runner run "QueuedThreadPool.java" 905]
  [java.lang.Thread run "Thread.java" 748]],
 :cause "No matching clause: 501 ÇëµÇ¼exmail.aSite.comÐÞ¸ÄÃÜÂë \n",
 :message "No matching clause: 501 ÇëµÇ¼exmail.aSite.comÐÞ¸ÄÃÜÂë \n",
 :type java.lang.IllegalArgumentException}

version info.

{
  "browser-info": {
    "language": "en-US",
    "platform": "MacIntel",
    "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36",
    "vendor": "Google Inc."
  },
  "system-info": {
    "file.encoding": "UTF-8",
    "java.runtime.name": "OpenJDK Runtime Environment",
    "java.runtime.version": "1.8.0_275-8u275-b01-0ubuntu1~18.04-b01",
    "java.vendor": "Private Build",
    "java.vendor.url": "http://java.oracle.com/",
    "java.version": "1.8.0_275",
    "java.vm.name": "OpenJDK 64-Bit Server VM",
    "java.vm.version": "25.275-b01",
    "os.name": "Linux",
    "os.version": "4.15.0-106-generic",
    "user.language": "zh",
    "user.timezone": "Asia/Shanghai"
  },
  "metabase-info": {
    "databases": [
      "mysql",
      "h2"
    ],
    "hosting-env": "unknown",
    "application-database": "mysql",
    "application-database-details": {
      "database": {
        "name": "MySQL",
        "version": "5.7.28-log"
      },
      "jdbc-driver": {
        "name": "MariaDB Connector/J",
        "version": "2.6.2"
      }
    },
    "run-mode": "prod",
    "version": {
      "tag": "v0.37.4",
      "date": "2020-12-17",
      "branch": "release-x.37.x",
      "hash": "e0d5287"
    },
    "settings": {
      "report-timezone": "Asia/Hong_Kong"
    }
  }
}

Hi @anduin
The SMTP status code 501 is usually incorrect email address or an anti-spam filter that blocks the address used.

emm, I think this is an encoding conversion problem when sending test mail.

Is it possible that Metabase sends an email and turns smtp.exmail.aSite.com into ÇëµÇ¼exmail.aSite.comÐÞ¸ÄÃÜÂë?

@anduin Metabase does not change the hostname, so perhaps you have some browser extension that is doing something it shouldn’t.
Check the application database table setting for the value of email-smtp-host
But since you write that it only started happening after you change the email, then I guess that’s the problem.
Also, you shouldn’t be using SSL, but TLS or STARTTLS, which almost all SMTP servers should support.

I see. Thank you very much.:smile: