如果来自地址,JavaMailSender不发送邮件是yahoo.com/yahoo.co.in

时间:2017-05-08 11:10:32

标签: email spring-mvc smtp javamail yahoo-mail

请参阅我的配置。

<beans:bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
    <beans:property name="host" value="${SMTP_HOST}"/>
    <beans:property name="port" value="${SMTP_PORT}"/>
     <beans:property name="javaMailProperties">
        <beans:props>
            <beans:prop key="mail.smtp.auth">${SMTP_AUTH}</beans:prop>
            <beans:prop key="mail.smtp.starttls.enable">true</beans:prop>
            <beans:prop key="mail.smtp.host">${SMTP_HOST}</beans:prop>
            <beans:prop key="mail.smtp.port">${SMTP_PORT}</beans:prop>
            <beans:prop key="mail.smtp.from">${BOUNCED_MAIL_ID}</beans:prop>
        </beans:props>
    </beans:property>
    <beans:property name="username" value="${SMTP_USERNAME}"/>
    <beans:property name="password" value="${SMTP_PASSWORD}"/>
</beans:bean>

我有一个属性文件,其中包含以下数据和我自己的SMTP服务器。

SMTP_HOST=ab.hexatech.com
SMTP_PORT=25
SMTP_AUTH=true
SMTP_USERNAME=info@hexatech.com
SMTP_PASSWORD=password
BOUNCED_MAIL_ID=demo%40hexatechsolutions.com
BOUNCED_MAIL_PWD=info123%40123

这是我的java代码。

try{
        final MimeMessage message = mailSender.createMimeMessage();
        final MimeMessageHelper helper = new MimeMessageHelper(message);

        helper.setFrom("m4munavar@yahoo.co.in");
        helper.setSubject("subject");


        setReciepientTypes(to, cc, bcc, helper);
        final BodyPart bodyPart = new MimeBodyPart();
        bodyPart.setContent(mergeTemplateIntoString(msg, templateLoc, model), "text/html");
        final Multipart multipart = new MimeMultipart();
        multipart.addBodyPart(bodyPart);
        if(attachment != null)
        {
            final MimeBodyPart attachPart = new MimeBodyPart();
            attachPart.attachFile(attachment);
            multipart.addBodyPart(attachPart);
        }

        if(header!=null && !header.isEmpty()){
            for (final String headername :header.keySet()) {
                message.setHeader(headername, header.get(headername).toString());
            }
        }
        message.setContent(multipart);
        mailSender.send(message);
    }catch(final Exception exception){
        LogMessage.log(exception.getMessage(), exception);
        throw  new ApplicationException(exception.getMessage());
    }

如果起始地址不是包含yahoo.com或yahoo.co.in的邮件地址,则发送邮件

请帮我解决问题。

由于

1 个答案:

答案 0 :(得分:1)

您的SMTP服务器可能配置为阻止您模仿其他用户。这是件好事。

如果您想以Yahoo用户身份发送,为什么不使用Yahoo邮件服务器?