日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

java 邮件跟踪_如何跟踪邮件已读状态(Java)

發(fā)布時(shí)間:2024/8/23 java 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 邮件跟踪_如何跟踪邮件已读状态(Java) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

>圖片的展示形式:

html中圖片元素表示:

其中src部分是比較好玩的,我們可以用圖片服務(wù)器鏈接地址,例如:

我們也可以使用base64的圖片字符串,例如:

>利用圖片加載來(lái)跟蹤用戶打開(kāi)郵件狀態(tài):

我們可以利用img元素,在郵件正文隱藏一張圖片,src指向我們服務(wù)器的服務(wù)URL,例如:

當(dāng)用戶打開(kāi)郵件正文時(shí),隱藏圖片會(huì)被加載,請(qǐng)求我們的服務(wù)URL時(shí),我們便可以知道用戶已讀,當(dāng)然郵件一定發(fā)送成功了。

>存在的問(wèn)題:

上面的方法可以獲取用戶已讀狀態(tài),但是在有的郵件客戶端,圖片無(wú)法隱藏,所以我們需要在服務(wù)URL請(qǐng)求結(jié)束后,真實(shí)返回一張圖片,但是圖片最好近乎不可見(jiàn)。

用java簡(jiǎn)單生成一個(gè)不可見(jiàn)的圖片(一個(gè)近乎不可見(jiàn)的點(diǎn)),代碼如下:

import java.awt.Color;

import java.awt.Graphics2D;

import java.awt.image.BufferedImage;

import java.io.ByteArrayOutputStream;

import java.io.IOException;

import javax.imageio.ImageIO;

import jodd.util.Base64;

public class TestImage {

public String getImageBase64() {

ByteArrayOutputStream baos = null;

StringBuffer sb = null;

try {

int width = 1;

int height = 1;

BufferedImage image = new BufferedImage(width, height,

BufferedImage.TYPE_INT_RGB);

Graphics2D g2d = image.createGraphics();

g2d.setBackground(new Color(255, 255, 255));

g2d.setPaint(new Color(0, 0, 0));

g2d.clearRect(0, 0, width, height);

g2d.dispose();

baos = new ByteArrayOutputStream();

ImageIO.write(image, "png", baos);

sb = new StringBuffer("data:image/png;base64,");

sb.append(Base64.encodeToString(baos.toByteArray()));

} catch (Exception ex) {

ex.printStackTrace();

} finally {

if (baos != null) {

try {

baos.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

// System.out.println(sb.toString());

return sb.toString();

}

public static void main(String[] args) {

new TestImage().getImageBase64();

}

}

>優(yōu)化一下:

我們可以直接保存圖片base64字符串,它本身就代表圖片,無(wú)需每次生成,生成字符串如下:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR42mP4//8/AAX+Av4zEpUUAAAAAElFTkSuQmCC

我們?cè)跒g覽器預(yù)覽一下,效果如下:

這樣我們利用image元素,成功跟蹤到用戶已讀郵件的狀態(tài)了。完

喜歡請(qǐng)關(guān)注微信公眾號(hào):碼農(nóng)小麥

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的java 邮件跟踪_如何跟踪邮件已读状态(Java)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。