gpt4 book ai didi

javascript - javamail.setFrom() 在我的 spring 项目中不起作用

转载 作者:行者123 更新时间:2023-12-02 00:55:50 34 4
gpt4 key购买 nike

用户尝试使用Java邮件来实现通过邮件接收询问的功能。但是,如果您使用 setFrom(),它将被经过身份验证的邮件地址覆盖,而不是您设置的电子邮件地址。

当用户输入自己的邮件时,将用户的邮件放入setFrom()中。但它每时每刻都会被覆盖。

我尝试将参数值作为字符串,但它不起作用。发送邮件的代码使用ajax。

上下文邮件.xml

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="smtp.gmail.com" />
<property name="port" value="587" />
<property name="username" value="email" />
<property name="password" value="password" />
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.starttls.enable">true</prop>
</props>
</property>
</bean>

Controller

@RequestMapping(value = "/mail")
public void mailSend(HttpServletRequest request, HttpServletResponse response,
ModelMap model, @RequestParam Map param) throws Exception {
SessionVO session = getSessionVO(request, response);

final Map<String, String> qna = (Map<String, String>)((List)qnaService.selectQna(param).get("qnaResultList")).get(0);
final List<Map> qnaFile= qnaService.selectQnaFile(param);
final Map[] file = new HashMap[qnaFile.size()];

for(int i=0;i<qnaFile.size();i++){
FileVO vo=new FileVO();
vo.setFileId((String)qnaFile.get(i).get("fileId"));
file[i]=fileService.getimgfile(vo, response);
}

logger.info(qna+"");
logger.info(qnaFile+"");


final MimeMessagePreparator preparator = new MimeMessagePreparator() {
@Override
public void prepare(MimeMessage mimeMessage) throws Exception {
final MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true, "UTF-8");
helper.setSentDate(new Date());
helper.setFrom(qna.get("email"), qna.get("userName")); //
helper.setTo(new InternetAddress("auth email"));
helper.setSubject(qna.get("userName")+"-"+qna.get("qnaType"));
helper.setText(qna.get("content"), true);

for (Map m : file) {
helper.addAttachment((String)m.get("fileNm"), (File)m.get("file"));
}
}
};

mailSender.send(preparator);
}

没有错误,但发件人的邮件地址错误。

最佳答案

一般来说,Gmail(以及大多数邮件服务器)只允许您使用与您的帐户凭据相对应的发件人地址。如果您想使用不同的发件人地址,请参阅此 Gmail help page .

关于javascript - javamail.setFrom() 在我的 spring 项目中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57819740/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com