首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在java中设置无认证的smtp服务器

如何在java中设置无认证的smtp服务器
EN

Stack Overflow用户
提问于 2018-06-03 23:02:03
回答 1查看 2.1K关注 0票数 0

最初我使用'smtp.gmail.com‘作为smtp服务器,使用javamail api发送邮件。但现在我必须更换smtp服务器,并使用我们的客户端smtp服务器。客户端smtp服务器假设是'143.12.12.1‘,它没有经过身份验证。

那么,有人能告诉我我需要做什么配置吗?我需要向我的客户索要在他们的域(域意味着smtp服务器)中创建的发件人电子邮件吗?

目前,我使用gmail id作为发送者id,而smtp服务器是客户端'143.12.12.1‘。

我在代码中使用了以下smtp配置:

smtp.config文件配置

代码语言:javascript
复制
#Email Configuration
host = 143.12.12.1
port = 25
isAuth = false
startTLS = true
startSSL= false
socketFactory = javax.net.ssl.SSLSocketFactory
isFallback = false
isDebug = true
emailUser =abc@gmail.com
password = abc

ApplicationContext.xml配置

代码语言:javascript
复制
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
        <property name="host" value="${host}"/>
        <property name="port" value="${port}"/>
        <property name="session" ref="mailSession"></property>
    </bean>

    <bean id="mailSession" class="javax.mail.Session" factory-method="getInstance">
        <constructor-arg>
            <props>
                <prop key="mail.smtp.auth">${isAuth}</prop>
                <prop key="mail.smtp.starttls.enable">${startTLS}</prop>
                <prop key="mail.smtp.ssl.enable">${startSSL}</prop>
                <prop key="mail.smtp.socketFactory.port">${port}</prop>
                <prop key="mail.smtp.socketFactory.class">${socketFactory}</prop>
                <prop key="mail.smtp.socketFactory.fallback">${isFallback}</prop>
                <prop key="mail.smtp.debug">${isDebug}</prop>
            </props>
        </constructor-arg>
        <constructor-arg ref="smtpAuthenticator" />
    </bean>

    <bean id="smtpAuthenticator" class="com.ericsson.obhs.util.SmtpAuthenticator">
        <constructor-arg value="${emailUser}" />
        <constructor-arg value="${password}" />
    </bean

每次我尝试发送邮件时,都会收到以下错误:

org.springframework.mail.MailSendException:邮件服务器连接失败;嵌套异常为javax.mail.MessagingException:读取响应异常;嵌套异常为: javax.net.ssl.SSLException:无法识别的SSL,明文连接?失败消息: javax.mail.MessagingException:读取响应异常;嵌套异常为: javax.net.ssl.SSLException:无法识别的SSL消息,明文连接?;消息异常详情(1)为:

EN

回答 1

Stack Overflow用户

发布于 2018-06-05 04:38:30

去掉所有的套接字工厂和端口设置,you don't need them,它们会导致你连接到错误的端口。您可能需要根据服务器的要求设置startTLS = false

您肯定希望“发件人”地址是客户端邮件服务器已知的地址。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50667788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档