从表单发送电子邮件

时间:2012-02-25 23:24:25

标签: java email jsp html-form

我首先在下面的代码中遇到一个问题:

<form action="resultPage.jsp" >
    <br/>
    <br/>
    <br/>
    <h4>
        <label>subject</label> <input name="subject" type="text" value="subject" />
    </h4>
    <textarea rows="7" cols="40" name="comment" >comment</textarea>
    </br>
    <input type="submit"/>
</form>

然后我写下面的代码:

<%
    MailManager mailManager = new MailManager();
    String subject= request.getParameter("subject");
    String comment=request.getParameter("comment");
    if((request.getParameter("subject")!=null) && (request.getParameter("comment")!=null) )
        mailManager.sendMessage("send E-mail addrs","password","smtp.gmail.com","465", new String[]{"receive addrs"}, subject,comment, "text/html");
%>

但我无法发送或接收任何电子邮件。

当我在没有if语句的情况下编写mailManager.sendMessage()时,我给出了一个异常 的显示java.lang.NullPointerException

2 个答案:

答案 0 :(得分:0)

显然,忽略if会导致NullPointerException意味着缺少commentsubject个参数中的一个或两个。

这表明问题的形式存在。

使用浏览器的Web开发人员功能,准确找出发送到服务器的请求。它看起来像是一个GET请求,因此参数应该在请求URL中。

答案 1 :(得分:0)

嘿伙计们我发现解决异常的原因是request.getParameter(t1)的对象没有被制作,所以有一个指向空对象的指针

为防止出现此错误,我们可以使用以下代码:

<%    
    String str=request.getParameter("t1");
    if (str==null )
        str=0+"" ;
    int i=Integer.parseInt(str);
    out.print(i);
%>