`
javazeke
  • 浏览: 86751 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

JavaMail的发送问题

阅读更多

以前在自己电脑上装了一个邮件服务器,用以前的代码都可以收发。

今天准备把它和126,163,什么的连上,问题出现了,一运行就报错,晕死我了。

弄了半天原来126已经不支持SMTP/POP3了,后来弄了个QQ邮箱,并且开启了SMTP/POP3,总算发上去了。

 

把发送的代码发下

form:

<form action="Send" method="post" name="mail">
			<table border="1" align="left">
				<tr>
					<td>
						From:
					</td>
					<td>
						<input name="from">secret:<input name="secret">
					</td>
				</tr>
				<tr>
					<td>
						TO:
					</td>
					<td>
						<input name="to">
					</td>
				</tr>

				<tr>
					<td>
						Subject:
					</td>
					<td>
						<input name="subject">
					</td>
				</tr>

				<tr>
					<td>
						Context:
					</td>
					<td>
						<textarea rows="10" cols="60" name="context"></textarea>
					</td>
				</tr>
				<tr>
					<td colspan="2">
						<input type="submit">
					</td>
					<td>
				</tr>

			</table>
		</form>

servlet

package org.zzx.send;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import java.util.Properties;

import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@SuppressWarnings("serial")
public class Send extends HttpServlet {

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		request.setCharacterEncoding("gbk");

		// 接收邮件类容
		String from = request.getParameter("from");
		String to = request.getParameter("to");
		String subject = request.getParameter("subject");
		String context = request.getParameter("context");
		String secret = request.getParameter("secret");

		// 邮件的服务器地址,邮件服务器的服务器名
		String mailServerName = "smtp.qq.com";

		try {

			// 获得系统属性
			Properties prop = System.getProperties();
			// 设置属性
			prop.setProperty("mail.smtp.host", mailServerName);
			
			prop.setProperty("mail.smtp.port", "25");    

			prop.setProperty("mail.smtp.auth", "true");
			
			
			String name=from.substring(0,from.indexOf("@"));
			MyAuthenticator au = new MyAuthenticator(name,secret);

			// 建立邮件发送的连接
			Session session = Session.getDefaultInstance(prop, au);
			
			System.out.println("ddddddddddddddd");

			// 创建邮件信息的载体
			Message message = new MimeMessage(session);

			// 设置邮件相关属性

			// 设置邮件发送地址
			message.setFrom(new InternetAddress(from));

			// 点到点的发送
			message.setRecipient(Message.RecipientType.TO, new InternetAddress(
					to));

			// 设置邮件主题
			message.setSubject(subject);
			// 邮件发送时间
			message.setSentDate(new Date());

			// 设置邮件类容
			message.setText(context);

			// 关键。。。。发送
			Transport.send(message);

		} catch (Exception e) {
			e.printStackTrace();
		}

		out.write("ok");

		out.flush();
		out.close();
	}

}

 Authenticator

package org.zzx.send;

import javax.mail.PasswordAuthentication;

public class MyAuthenticator extends javax.mail.Authenticator {
	private String strUser;
	private String strPwd;
	
	public String getStrUser() {
		return strUser;
	}

	public void setStrUser(String strUser) {
		this.strUser = strUser;
	}

	public String getStrPwd() {
		return strPwd;
	}

	public void setStrPwd(String strPwd) {
		this.strPwd = strPwd;
	}

	public MyAuthenticator(String user, String password) {
		this.strUser = user;
		this.strPwd = password;
	}

	protected PasswordAuthentication getPasswordAuthentication() {
		return new PasswordAuthentication(strUser, strPwd);
	}

}

  

 

 一定要开启了SMTP/POP3,不然你再牛也发布上去

0
0
分享到:
评论

相关推荐

    JavaMail发送邮件(文本、html、附件)

    这个标题"JavaMail发送邮件(文本、html、附件)"涵盖了使用JavaMail API发送不同格式邮件的核心功能。下面将详细介绍如何利用JavaMail发送文本、HTML和包含附件的邮件,以及在实际应用中需要注意的配置步骤。 1. *...

    javaMail发送邮件 发送成功 收不到邮件 或收到邮件无主题无收件人乱码

    ### JavaMail发送邮件时遇到的问题及解决方法 在使用JavaMail进行邮件发送的过程中,可能会遇到以下几种常见问题:发送成功但收件方未收到邮件、邮件收到后无主题或无收件人信息以及邮件内容出现乱码等情况。本文将...

    javamail发送邮件.zip

    这个“javamail发送邮件.zip”压缩包显然包含了一个示例项目,演示如何使用JavaMail API发送包含正文文本、图片以及附件的邮件。以下是对这个主题的详细解释: 1. **JavaMail API**: JavaMail API 是一组接口和类...

    Gmail邮件通过JavaMail发送(不带附件与带一个附件)

    在使用JavaMail发送邮件前,你需要在项目中引入相关的依赖包。在描述中提到的"javamail"可能是指JavaMail的jar包,这是进行邮件操作的基础。确保你的项目已包含以下两个关键的JavaMail库: 1. `javax.mail-api.jar`...

    用javaMail发送邮件

    下面是一个简单的JavaMail发送邮件的步骤: 1. **导入必要的库**:首先,在项目中导入`mail.jar`和`activation.jar`,确保编译和运行时能够访问到这些库。 2. **配置邮件会话**:创建一个`Properties`对象,设置...

    JavaMail发送邮件的例子

    下面我们将深入探讨JavaMail的基本概念、如何使用JavaMail发送邮件以及在Struts2框架中的实现方式。 JavaMail API主要包括以下组件: 1. `javax.mail.Session`:是JavaMail的核心,负责配置邮件服务器的信息,如...

    javamail发送邮件实例

    JavaMail 是一个强大的开源库,用于在Java应用程序中发送...以上就是使用JavaMail发送邮件的详细过程,以及与文本编辑器KindEditor的集成方式。在开发过程中,记得根据具体需求调整和优化代码,以满足不同的业务场景。

    JavaMail发送给多人,添加多个附件

    javaMail

    javamail发送邮件的简单实例

    javamail发送邮件的简单实例

    javamail实现邮箱与邮箱发送邮件

    下面是一个使用JavaMail发送邮件的详细示例代码: ```java import javax.mail.*; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; public class EmailSender { public ...

    用Java类实现JavaMail发送邮件的例子

    在这个例子中,我们将详细探讨如何使用JavaMail发送邮件,包括SMTP认证、添加附件以及发送HTML内容的邮件。 首先,为了使用JavaMail API,我们需要引入相应的库。在这个例子中,`javamail`和`JAF`(JavaBeans ...

    javamail发送、接收邮件

    通过解析给定文件的标题、描述、标签及部分内容,我们可以深入探讨javamail发送与接收邮件的详细教程,以及如何利用JavaMail API实现邮件功能。 ### javamail发送、接收邮件 JavaMail API是由Sun Microsystems开发...

    JAVAMAIL集合发送图片,附件,内容,HTML等得JAVAMAIL代码

    本资源是一个集合发送图片,附件,内容,HTML等得JAVAMAIL代码,并且可以同时发送多个附件多个图片,只需填充VO类,即可直接调用并发送邮件,例子已经写好,只要填充上必要值即可,经163,qq,sina测试没有问题,有...

    javaMail实现发送邮件的demo

    JavaMail 是一个开源的 Java 库,用于处理电子邮件的发送和接收。它提供了一组 API,使得开发者可以方便地在 Java 应用程序中集成邮件功能。本示例将介绍如何使用 JavaMail 实现发送邮件的功能。 首先,我们需要...

    javamail发送html邮件

    JavaMail API 是一个用于发送、接收电子邮件的标准接口集合,它支持多种协议(如 SMTP、IMAP 和 POP3),使得 Java 应用程序能够轻松地发送和接收电子邮件。 #### 二、发送 HTML 格式的邮件 在实际应用中,经常需要...

    利用JavaMail发送邮件的实例,可以直接运行

    8. **使用JavaMail发送HTML邮件**:通过设置`MimeMessage`的`setContent()`方法,可以发送包含HTML的邮件。 ```java message.setContent("&lt;h1&gt;HTML邮件标题&lt;/h1&gt;&lt;p&gt;这是HTML邮件正文。&lt;/p&gt;", "text/html;charset=...

    javamail发送邮件小程序,类以及写好,只要放包,下载一个就可以

    JavaMail 是一个开源的 Java 库,用于在 Java 应用程序中实现电子邮件的发送和接收。这个小程序可能包含了一套完整的类,可以帮助开发者快速构建邮件发送功能,无需从头开始编写所有必需的代码。 JavaMail 提供了对...

    完整的javamail发送邮件源码

    这个“完整的javamail发送邮件源码”提供了一种直接可用的解决方案,帮助开发者快速集成邮件发送功能到他们的项目中。以下是对JavaMail核心知识点的详细解析: 1. JavaMail API:JavaMail API 是一组用于处理邮件的...

    使用javaMail发送邮件

    JavaMail 是一个开源库,用于在Java应用程序中发送和接收电子邮件。这个库提供了一组API,使得开发者可以方便地处理SMTP、POP3、IMAP等邮件协议。在本篇文章中,我们将深入探讨如何使用JavaMail API来实现邮件的发送...

    javaMail发送邮件的jar包

    使用JavaMail发送邮件的基本步骤如下: 1. **导入依赖**: 首先,你需要将上述提到的JAR文件添加到项目的类路径中,确保Java程序可以访问这些库。 2. **配置属性**: 创建一个`Properties`对象,设置邮件服务器的...

Global site tag (gtag.js) - Google Analytics