Java实现伪造邮件发信人

关键词

Java、邮件、SMTP、伪造、发信人、邮箱、由……代发

效果预览

在这里插入图片描述

背景说明

作业背景

最近在做设计,设计里涉及到邮件通知功能,但是直接使用自己个人邮箱发送的话显得那啥一点,并且在Python SMTP发送邮件里发现是可以伪造邮件的,故打算把自己的邮箱“打扮”一下,将自己的设计模拟的更真实一点。可不要拿来做不好的事情哦

环境

  • Win10、Linux
  • Java8(不需要额外的jar)

参考说明

看了不少做JavaEmail的文章,基本上都是采用javax.mail.jar包做的,但是无法实现伪造发信人(这里的发信人指的是邮箱,这个包昵称是可以指定的。可能之前的setSender可以,但是我没用过,我下载的1.6.2版本的,MimeMessage对象没有setSender方法),主要参考了两篇文章(后面给出),都写的很好,我写这篇文章的目的是让朋友们多一个维度参考。下面是我参考的文章:
1.JAVA实现SMTP邮件发送
2.java发送邮件的两种实现方式(包括如何伪造发件人及其原理)
对了还有一篇:Java8 Base64 | 菜鸟教程

实现代码

喜欢图片的朋友看这个,喜欢代码的在后面
在这里插入图片描述
源代码:

import java.io.*;
import java.net.Socket;
import java.nio.charset.StandardCharsets;
import java.util.Base64;

public class SMTPSendMail {
   
    public static void main(String[] args) {
   
        String loginUsername = "sample@163.com"; //<- 登录邮箱,这里仅为示例
        String loginPassword = "JCTAJSNCUPEMKPZO"; //<- 16位授权密码
        String realAddressee  = "receiver@xxx.com"; //<- 收件人邮箱
        String smtpServer = "smtp.163.com"; //<- smtp服务器地址
        int port = 25;

        String b64Username = Base64.getEncoder().encodeToString(loginUsername.
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值