利用gmail发送邮件代码

现在能使用pop3/smtp的邮箱不多了,而且还需要手动设置,gmail邮箱就不错,他的端口号和其他的邮箱不一样,发信的端口号是465,这段代码是我从网上找到的,感觉很简洁,只是没有附件功能,不过还是可以满足需求的。
package com.util;

import java.security.Security;
import java.util.Date;
import java.util.Properties;

import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class GmailSender {

public void sender(String to,String title,String text) throws AddressException, MessagingException {
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
// Get a Properties object
Properties props = System.getProperties();
props.setProperty("mail.smtp.host", "smtp.gmail.com");
props.setProperty("mail.smtp.socketFactory.class", SSL_FACTORY);
props.setProperty("mail.smtp.socketFactory.fallback", "false");
props.setProperty("mail.smtp.port", "465");
props.setProperty("mail.smtp.socketFactory.port", "465");
props.put("mail.smtp.auth", "true");
final String username = "你要利用发信的gmail邮箱";
final String password = "密码";
Session session = Session.getDefaultInstance(props, new Authenticator(){
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}});

// -- Create a new message --
Message msg = new MimeMessage(session);

// -- Set the FROM and TO fields --
msg.setFrom(new InternetAddress(username));
msg.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(to,false));//收件人地址
msg.setSubject(title);//邮件标题
msg.setText(text);//邮件正文
msg.setSentDate(new Date());
Transport.send(msg);

System.out.println("Message sent.");
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是Python自动发邮件并将列表中数值填写到表格中的代码示例: ```python import smtplib from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText from email.mime.application import MIMEApplication import pandas as pd # 用户信息 SMTP_SERVER = 'smtp.qq.com' # 发件人SMTP服务器 SMTP_PORT = 465 # SMTP服务器端口 SMTP_USERNAME = 'youremail@qq.com' # 发件人邮箱账号 SMTP_PASSWORD = 'yourpassword' # 发件人邮箱密码 # 收件人和邮件标题 RECIPIENTS = ['recipient1@gmail.com', 'recipient2@gmail.com'] # 收件人邮箱列表 SUBJECT = 'Email with attached table' # 邮件正文 TEXT = 'Please find attached a table below:' # 数据列表 data = [1, 2, 3, 4, 5] # 将数据列表转换成DataFrame df = pd.DataFrame({'Data': data}) # 将DataFrame写入Excel文件 writer = pd.ExcelWriter('table.xlsx', engine='xlsxwriter') df.to_excel(writer, sheet_name='Sheet1', index=False) writer.save() # 创建邮件对象 msg = MIMEMultipart() # 添加邮件正文 msg.attach(MIMEText(TEXT)) # 添加Excel文件附件 with open('table.xlsx', 'rb') as f: attachment = MIMEApplication(f.read(), _subtype='xlsx') attachment.add_header('content-disposition', 'attachment', filename='table.xlsx') msg.attach(attachment) # 发送邮件 with smtplib.SMTP_SSL(SMTP_SERVER, SMTP_PORT) as smtp: smtp.login(SMTP_USERNAME, SMTP_PASSWORD) for recipient in RECIPIENTS: msg['To'] = recipient msg['Subject'] = SUBJECT smtp.sendmail(SMTP_USERNAME, recipient, msg.as_string()) ``` 这里展示的代码是一个完整的发送邮件并将数据列表填写到Excel表格中的示例代码。其中,我们使用了 Pandas 库来将数据列表转换成 DataFrame,并利用 XlsxWriter 库将 DataFrame 中的数据写入 Excel 文件。最后我们将 Excel 文件作为邮件附件添加到邮件中发送给收件人。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值