package import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.Date; import java.util.Properties; import javax.mail.Address; import javax.mail.BodyPart; import javax.mail.Message; import javax.mail.Multipart; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; import javax.mail.internet.MimeMultipart; import org.apache.log4j.Logger; public class EmailUtil { private Logger log = Logger.getLogger(EmailUtil.class); private String host; private String username; private String password; private String fromEmail; public EmailUtil(String host, String username, String password, String fromEmail) { this.host = host; this.username = username; this.password = password; this.fromEmail = fromEmail; } public EmailUtil() { } /** * 发送邮件 * * @param receiverEmail * @param subject * @param mailContent */ public boolean sendMail(String[] receiverEmail, String subject, String mailContent,String host,String fromEmail,String username,String password) { try { Properties props = new Properties();// 创建属性对象 props.put("mail.smtp.host", host);// 设置smtp服务器地址 props.put("mail.smtp.auth", "true");// 设置服务器smtp需要验证 props.put("mail.from", fromEmail); javax.mail.Session session = javax.mail.Session.getInstance(props, null);// 创建新邮件并群发 // Session session = Session.getDefaultInstance(props); // session.setDebug(true); MimeMessage message = new MimeMessage(session);// 创建过程对象 message.setSentDate(new Date());// 设置时间 InternetAddress[] address = new InternetAddress[receiverEmail.length]; // 群发地址 for (int i = 0; i < receiverEmail.length; i++) { // 循环发送 address[i] = new InternetAddress(receiverEmail[i]); } message.setRecipients(Message.RecipientType.TO, address); message.setSubject(subject);// 设置主题 Multipart multipart = new MimeMultipart(); BodyPart contentPart = new MimeBodyPart(); contentPart.setContent(mailContent, "text/html;charset=utf-8");// 设置信件内容 multipart.addBodyPart(contentPart); message.setContent(multipart); message.saveChanges(); Transport transport = session.getTransport("smtp"); transport.connect(host, username, password); transport.sendMessage(message, message.getAllRecipients()); transport.close(); return true; } catch (Exception e) { // log.error(e.getMessage(), e); e.printStackTrace(); return false; } } /* * * */ public static boolean nowSendMail(String email ,String content) { // boolean b = false; try { Properties prop = new Properties(); String base =Thread.currentThread().getContextClassLoader().getResource("").getPath(); // System.out.println(base); // base = base.substring(1, base.length()); // System.out.println(base); InputStream in = new BufferedInputStream (new FileInputStream(base + "email.properties")); prop.load(in); String host = prop.getProperty("host"); String username = prop.getProperty("username"); String password = prop.getProperty("password"); String fromEmail = prop.getProperty("fromemail"); String title =new String(prop.getProperty("title").getBytes("ISO8859-1"),"UTF-8"); EmailUtil eh = new EmailUtil(); boolean sendFlag = eh.sendMail(new String[] { email }, title,content,host,fromEmail,username,password); if(!sendFlag){ return false; } } catch (IOException e) { e.printStackTrace(); } return true; } public static void main(String[] args) { EmailUtil.nowSendMail("xx@163.com", "测试内容"); } }
email.properties:
host=smtp.163.com username=xxxx password=xxxx fromemail=xxx@163.com
相关推荐
在IT行业中,使用编程框架可以极大地提高开发效率和代码质量。ThinkPHP是一个广泛使用的PHP框架,它为...此外,这也展示了如何与第三方服务提供商如腾讯进行API集成,这对于提升开发者解决实际问题的能力大有裨益。
为了方便第三方调用,源码很可能封装成了一个独立的类或服务接口。这种设计模式下,其他Java应用只需通过引入这个jar包,然后调用预定义的接口方法,就可以实现邮件的发送,无需关心邮件发送的具体实现细节。这样的...
### Java发送邮件工具类知识点详解 #### 一、概述 在Java开发中,发送电子邮件是一项常见且实用的功能,尤其在企业级应用中更是不可或缺的一部分。本文将详细介绍如何使用Java发送邮件,并通过一个具体的示例代码...
PHPMailer提供了丰富的功能,包括SMTP(Simple Mail Transfer Protocol)支持,这对于通过第三方邮件服务器发送邮件至关重要。SMTP协议是互联网标准,用于发送电子邮件。通过SMTP,PHPMailer可以确保邮件能够正确地...
因此,在需要更强大和灵活的邮件发送功能时,开发者通常会选择使用如PHPMailer这样的第三方库。 在压缩包`phpmail_test`中,可能包含了上述的示例代码或者一个完整的测试项目,你可以解压后查看具体代码,进一步...
同时,如果遇到权限问题,确保你的邮件提供商允许使用第三方应用发送邮件。 这个简单的示例演示了如何使用 JavaMail 发送文本邮件。对于更复杂的邮件,如包含 HTML 内容、附件或嵌入图片,你可以扩展 `MimeMessage`...
- **普通邮件发送**:此方法可能接受发件人、收件人、主题和邮件内容作为参数,然后通过`mail()`函数或其他第三方库(如PHPMailer或SwiftMailer)来发送邮件。对于文本邮件,内容通常是纯文本,没有HTML格式。 - ...
为了实现这一功能,该类库可能依赖于PHP的`mail()`函数或其他第三方库,如PHPMailer或者SwiftMailer,这些库都支持SMTP协议,可以更可靠地发送带有附件的邮件。 在使用这个邮件发送类之前,你需要确保你的PHP环境...
这通常涉及到与第三方短信服务商的API集成。开发者需要注册获取API密钥,然后在Java代码中调用API接口,传递必要的参数如手机号码、短信内容和API密钥来发送短信。 **数据库设计与SQL Server 2000** SQL Server ...
PHP本身并不内置SMTP发送邮件的功能,但我们可以借助第三方类库,如phpSMTP邮件发送类,来简化这个过程。 phpSMTP邮件发送类是一个实用的工具,它允许开发者通过SMTP协议发送邮件,而无需在服务器上进行复杂的邮件...
"SendMail.class"可能是一个编译后的Java类,可能实现了发送电子邮件的功能,这通常需要依赖如JavaMail这样的第三方库。"MBSTimingJobs"可能是一个包含定时任务的类,可能使用了如Quartz或Spring的定时任务框架,...
此外,为了提高邮件发送的效率和灵活性,还可以使用第三方邮件服务提供商如SendGrid、Mailgun等,它们提供了API和SDK,可以方便地集成到.NET应用中。这些服务通常提供更稳定的邮件发送、跟踪邮件状态、批量发送等...
但`mail()`函数在某些情况下可能不够灵活,例如无法处理复杂的邮件格式或配置自定义SMTP服务器,因此开发者通常会使用第三方库,如PHPMailer或SwiftMailer。 PHPMailer是一个流行的PHP邮件发送库,它提供了丰富的...
- 对于某些邮件服务提供商,需要开启第三方应用访问权限或获取专用的授权码。 2. **如何添加更多附件?** - 可以使用类似的方法多次调用 `attach` 方法来添加多个附件。 3. **如何处理邮件发送失败的情况?** - ...
我们可以选择`androidx.core.mail.mail`或者第三方库如` javax.mail-for-android`,这些库是专门为Android优化的,包含了发送邮件所需的核心组件。 2. **设置权限** 在AndroidManifest.xml文件中添加Internet权限...
总结起来,"发送邮件需要用到的3个jar包"——activation.jar、mail.jar和javax.mail-api.jar——是Java开发者处理电子邮件功能的重要工具。理解它们的功能和用法对于构建能够发送邮件的应用程序至关重要。
**PHPMailer第三方PHP开源类详解** PHPMailer是一个广泛使用的开源PHP类库,专门设计用于简化通过PHP发送电子邮件的过程。这个库提供了丰富的功能,包括SMTP验证、附件上传、HTML邮件发送、CC与BCC设置,以及多种...
在实际应用中,你可以通过模拟邮件客户端或使用第三方工具(如MailCatcher)来查看发送的邮件效果。 总之,Java Mail API 提供了一套完整的框架,帮助开发者轻松实现邮件发送功能。通过配置SMTP服务器信息、创建`...
Spring-context-support-3.0.2.RELEASE.jar是Spring框架的一部分,提供了对第三方库如JavaMail的支持,使得在Spring应用中集成邮件服务变得简单。activation.jar是JavaBeans Activation Framework的JAR,用于处理...
2. **Interop.jmail.dll**:这是一个.NET Interop库,用于与非托管代码交互,尤其是与第三方邮件组件JMail进行集成。JMail是一款强大的邮件组件,它支持SMTP、POP3和IMAP协议,可以方便地在Asp.Net中发送和接收邮件...