首页 > 其他分享 >go gomail.v2发送邮件报错unencrypted connection

go gomail.v2发送邮件报错unencrypted connection

时间:2023-10-10 10:16:20浏览次数:207  
标签:return nil host auth connection 报错 unencrypted gomail byte

实现Auth接口

type auth struct {
    host     string
    username string
    password string
}

func (a *auth) Start(server *smtp.ServerInfo) (proto string, toServer []byte, err error) {
    if !server.TLS {
        advertised := false
        for _, mechanism := range server.Auth {
            if mechanism == "LOGIN" {
                advertised = true
                break
            }
        }
        if !advertised {
            return "", nil, errors.New("gomail: unencrypted connection")
        }
    }
    //if server.Name != a.host {
    //    return "", nil, errors.New("gomail: wrong host name")
    //}
    return "LOGIN", nil, nil
}
func (a *auth) Next(fromServer []byte, more bool) (toServer []byte, err error) {
    if !more {
        return nil, nil
    }

    switch {
    case bytes.Equal(fromServer, []byte("Username:")):
        return []byte(a.username), nil
    case bytes.Equal(fromServer, []byte("Password:")):
        return []byte(a.password), nil
    default:
        return nil, fmt.Errorf("gomail: unexpected server challenge: %s", fromServer)
    }
}

 

 

使用auth

dialer.Auth = &auth{
        username: username,
        password: password,
        host:     host,
    }

 

标签:return,nil,host,auth,connection,报错,unencrypted,gomail,byte
From: https://www.cnblogs.com/liudongcai/p/17753880.html

相关文章

  • vue显示echarts报错——echarts未在vue界面中定义init——TypeError: Cannot read pro
    问题描述本来按照网上的教程说是想要定义一个全局变量,就不需要在每个需要用到echarts组件的vue页面里面重新定义了,直接使用就行,然后就报错了;问题解决我觉得应该是我的全局变量定义错误了,但是吧,我就直接改成在该vue页面定义了它,然后再使用:就没有再使用到那个全局变量,直接这......
  • 启动vue项目报错——ERROR Error loading vue.config.js: ERROR TypeError: defineCon
    问题描述在我引入echarts模块之前是ok的,引入之后就启动失败了;问题解决一般情况下,都是该项目的版本与本机cmd里面的版本不对应导致的;只需要使用这个命令npmupgrade,更新版本,一直yes下去,就能够解决这个问题啦!......
  • Listener refused the connection with the following error: ORA-12514
    1.问题在使用OracleSQLDeveloper时,遇到以下问题:状态:失败-测试失败:Listenerrefusedtheconnectionwiththefollowingerror:ORA-12514,TNS:listenerdoesnotcurrentlyknowofservicerequestedinconnectdescriptor(CONNECTION_ID=w++gsIkwQB+f4YlRCo9RvQ==)......
  • swagger2启动报错
    1.添加注解:@EnableSwagger2注解能将swagger的配置文件导入ioc容器,使用容器管理swagger相关的各种核心类,并使我们能通过yml或properties文件能修改默认配置:@Import({Swagger2DocumentationConfiguration.class})public@interfaceEnableSwagger2{}...@EnableSwagger2能......
  • java fx 报错 java.lang.instrument ASSERTION FAILED ***: “!errorOutstanding“ wi
    问题描述在javafx中遇到的错误在fxml中通过了fx:controller绑定了控制器在控制的controller里面使用了FXMLLoader.load获取这个fxml文件出现报错java.lang.instrumentASSERTIONFAILED***:"!errorOutstanding"withmessagetransformmethodcallfailedat......
  • MySQL数据库报 1040 too many connection
    找个是因为超过了最大的连接数你把最大的连接数改一下就可以了  改完之后记得重启mysqlwindows+R cmd进入黑窗口 ......
  • 安装pytorch报错,没解决
    environmentvariables:CIO_TEST=CLASS_PATH=.:/exe/jdk/jdk1.8.0_341/lib/dt.jar:/exe/jdk/jdk1.8.0_341/lib/tools.jar:/exe/jdk/jdk1.8.0_341/jre/libCONDA_DEFAULT_ENV=test1CONDA_EXE=/exe/conda/yes/bin/condaCONDA_PREFIX=/exe/conda/yes/envs/test1CONDA_PROMP......
  • SQL驱动包报错(8.0换成5.17)
    driverClassName=com.mysql.cj.jdbc.Driver,换成:driverClassName=com.mysql.jdbc.Driver  ......
  • pip安装报错:is not a supported wheel on this platform
    可能的原因1:安装的不是对应python版本的库,下载的库名中cp27代表python2.7,其它同理。 可能的原因2:(下载的是对应版本的库,然后仍然提示不支持当前平台)我下载到的numpy库文件名:numpy-1.10.4+mkl-cp27-cp27m-win32.whl使用pip安装(在命令行中):pipinstall numpy-1.10.4+mkl-......
  • jenkins安装插件报错
    1、安装插件publish-over-ssh报错 解决方案:下载publish-over.hpi文件 https://updates.jenkins.io/download/plugins/publish-over/0.22/publish-over.hpi离线安装选择的插件: 然后再安装publish-over-ssh插件 ......