在Spring中使用用户输入的用户名和密码发送邮件

达山·里拉(Darshan Lila)

我的应用程序需要使用Spring API从用户输入的用户名和密码发送邮件。这是我的应用程序上下文文件的外观。

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" 
xmlns:context="http://www.springframework.org/schema/context" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:task="http://www.springframework.org/schema/task"
xsi:schemaLocation=" http://www.springframework.org/schema/beans 
                                            http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
                                            http://www.springframework.org/schema/context 
                                            http://www.springframework.org/schema/context/spring-context-3.0.xsd 
                                            http://www.springframework.org/schema/util 
                                            http://www.springframework.org/schema/util/spring-util.xsd 
                                            http://www.springframework.org/schema/task 
                                            http://www.springframework.org/schema/task/spring-task-3.0.xsd">

<context:component-scan base-package="net.mail" />
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">  
    <property name="host" value="smtp.gmail.com"/>
    <property name="port" value="25"/>  
    <property name="username" value="[email protected]" />  
    <property name="password" value="xyz" />  
    <property name="javaMailProperties">  
        <props>  
                <prop key="mail.transport.protocol">smtp</prop>
                <prop key="mail.smtp.auth">true</prop>
                <prop key="mail.smtp.starttls.enable">true</prop>
                <prop key="mail.debug">true</prop>  
        </props>  
    </property>  
</bean>  
</beans> 

我的控制器看起来像

package net.mail;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.MailSender;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class MailController 
{
    @Autowired
    MailSender sender;

    @ResponseBody
    @RequestMapping("/send")
    public String sendMailToIt(HttpServletRequest request)
    {
        try
        {
            String from=request.getParameter("from");
            String to=request.getParameter("to");
            String sub=request.getParameter("subject");

            String username=request.getParameter("username");
            String password=request.getParameter("password");

            //username and password should be used for authentication

            SimpleMailMessage mail=new SimpleMailMessage();
            mail.setFrom(from);
            mail.setTo(to);
            mail.setSubject(sub);
            mail.setText("hello");

            sender.send(mail);
        }
        catch(Exception e)
        {
            e.printStackTrace();
            return "Exception Occured";
        }
        return new String("mail sent");
    }
}

现在我的要求是

  • 我不想使用属性文件。
  • 我希望用户名和密码成为用户输入的用户名和密码。

我仅使用属性文件找到了解决方案。但就我而言,我不想使用该文件。

有什么办法吗?

Vinayknl

您可以通过从用户获取数据来在MailController中进行设置(根据您的要求进行设置或覆盖)

 public String sendMailToIt(HttpServletRequest request)
 {
     .....
     JavaMailSenderImpl jMailSender = (JavaMailSenderImpl)sender;

     jMailSender.setUsername(userName);
     jMailSender.setPassword(password);

     ....
     jMailSender.send(mail);

     ....
 }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用用户名和密码输入的JOptionPane

如何使用Java在SOAP UI中使用用户名和密码发送SOAP请求

如何在Firebase中使用用户名,电子邮件和密码创建新用户?

通过虚拟主机发送电子邮件,而无需使用用户名和密码

如何创建登录但使用用户名或电子邮件和密码

使用用户名和密码发送POST请求并保存会话cookie

如何使用用户名和密码连接LDAP?

使用用户名和密码进行密钥验证

使用用户名和密码的Python github Pull

使用用户名和密码访问Kubernetes API

使用用户名和密码的OpenVPN

使用用户名和密码打开HTTP会话

使用用户名和密码连接到openvpn

sqlite连接使用用户名和密码

使用用户名和密码打开的网址

如何在PowerShell控制台中使用用户名和密码使用wget

如何在终端的一行中使用用户名和密码运行openconnect?

如何在Axios中使用用户名和密码访问数据库

在Java中使用用户名和密码创建数据库

Firebase-如何仅使用用户名(不输入密码/电子邮件)实施登录?

需要在 C# 中使用用户名和密码创建登录窗口,但是当我输入不正确的用户名或密码时,出现错误

Yii2 使用任意用户名和密码发送邮件

使用没有用户名和密码的 SMTP 发送电子邮件

如何使用RestClient发送用户名和密码

使用机械化输入用户名和密码

如何使用Python在Selenium中使用用户名和密码对代理进行身份验证

在python中使用selenium在输入标签中填写用户名和密码

在python中使用硒填充用户名和密码

使用用户名和密码验证删除Firebase用户