多个邮箱html(多个邮箱文件怎么一起下载)

hacker|
56

求问如何编写兼容各主流邮箱的HTML邮件

这些由站方发给会员的信件,往往纯文本格式已不能满足界面和交互的要

求,这时候我们就需要发送HTML页面。由于HTML邮件不是独立的HOST在本站的页面,是寄人篱下的。所以编写HTML邮件与编写HTML页面有很大

的不同。因为,各面向网民的主流邮箱都或多或少的会对它们接收到的HTML邮件在后台进行过滤。毫无疑问,JS代码是被严格过滤掉的,包括所有的事件监听

邮箱过滤的,能正常显示的HTML邮件。

我把邮箱分为两类:

第一类包括gmail、hotmail、sohu,这类邮箱,邮件内容是被布局在整个邮箱页面中的某个div中。

第二类,包括163、sina,这类邮箱,邮件内容被布局在独立的iframe中。

熟悉HTML的朋友都知道,iframe内容是作为独立的document,与父页面的元素和CSS是互不相干的,几乎可以作为一个独立的页面来对

待。而如果如果邮件内容是在div中,那么邮件内容是作为整个邮箱页面的一个组成部分。显然,以iframe作为展现方式的邮箱,对邮件内容就会宽容许

多,因为它给了你一个足够独立的表现空间。而div就不是那么客气了。试想一下,如果你在你的邮件里写上这么一句CSS,是不是整个邮箱的展现页面上字体

都变成20px而因此乱了套:

我们需要写兼容各邮箱的统一邮件模板,那么必然就要避开以上这种外联CSS写法,另外类似于float、position等成非正常内容流的style也会被过滤,假如你写了,很可能会影响到外部邮箱的表现。

下面我列出一些编写原则:1、全局规则之一,不要写

如何编写兼容各主流邮箱的HTML邮件

这些由站方发给会员的信件,往往纯文本格式已不能满足界面和交互的要求,这时候我们就

需要发送HTML 页面。由于HTML 邮件不是独立的HOST 在本站的页面,是寄人篱下的。所以

编写HTML 邮件与编写HTML 页面有很大的不同。因为,各面向网民的主流邮箱都或多或少的

会对它们接收到的HTML 邮件在后台进行过滤。毫无疑问,JS 代码是被严格过滤掉的,包括

所有的事件监听属性,如onclick、onmouseover,这是基于邮件安全性的考虑。不仅如此,

的HTML 邮件。

箱后台的过滤算法也不是那么容易可以让外人知道的。所以,我们只能通过前端展现,来推

sina 几个邮箱的分析,我把邮箱分为两类:

熟悉HTML 的朋友都知道,iframe 内容是作为独立的document,与父页面的元素和CSS 是互

不相干的,几乎可以作为一个独立的页面来对待。而如果如果邮件内容是在div 中,那么邮

件内容是作为整个邮箱页面的一个组成部分。显然,以iframe 作为展现方式的邮箱,对邮

件内容就会宽容许多,因为它给了你一个足够独立的表现空间。而div 就不是那么客气了。

试想一下,如果你在你的邮件里写上这么一句CSS,是不是整个邮箱的展现页面上字体都变

成20px 而因此乱了套:

我们需要写兼容各邮箱的统一邮件模板,那么必然就要避开以上这种外联CSS 写法,另外类

似于float、position 等成非正常内容流的style 也会被过滤,假如你写了,很可能会影响

到外部邮箱的表现。1、全局规则之一,不要写

发送html格式的邮件

发送html格式的邮件void jButton8_actionPerformed(ActionEvent e) {

try

{//此段代码用来发送带有html信息的邮件

Properties props = new Properties();

Authenticator auth = new Email_Autherticator();

props.put( "mail.smtp.host ",host);

props.put( "mail.smtp.auth ", "true ");

Session session = Session.getDefaultInstance(props,auth);

MimeMessage message = new MimeMessage(session);

//设置邮件正文

String htmltext= " h1 hello /h1 "+ " a href=\ " \ " target=\ "_blank\ " click me please! /a ";

message.setContent(htmltext, "text/html ");//text/plain设置邮件的格式因为是带有html文档的,所以用text/html格式

message.setSubject(mail_subject);

// message.setText(mail_body);在使用message.setContent()时候,好象不能用message.setText()

message.setHeader(mail_head_name,mail_head_value);

message.setSentDate(new Date());

Address address = new InternetAddress(mail_from, "sunxiaoming ");

message.setFrom(address);

Address toAddress = new InternetAddress(mail_to);

message.addRecipient(Message.RecipientType.TO,toAddress);

Transport.send(message);

System.out.println( "send ok! ");

}

catch(Exception ex)

{

System.out.println( "faild "+ex);

}

}

void jButton9_actionPerformed(ActionEvent e) {

try

{//此段代码用来发送带有图片的邮件

String file = "./20020423/test.gif ";

Properties props = new Properties();

Authenticator auth = new Email_Autherticator();

props.put( "mail.smtp.host ",host);

props.put( "mail.smtp.auth ", "true ");

Session session = Session.getDefaultInstance(props,auth);

MimeMessage message = new MimeMessage(session);

message.setSubject( "Embedded Image ");

Address address = new InternetAddress(mail_from, "sunxiaoming ");

message.setFrom(address);

Address toAddress = new InternetAddress(mail_to);

message.addRecipient(Message.RecipientType.TO,toAddress);

message.setHeader(mail_head_name,mail_head_value);

message.setSentDate(new Date());

BodyPart messageBodyPart = new MimeBodyPart();

String htmlText = " h1 hello /h1 "+ " img src=\ "cid:memememe\ " ";//加入图片

messageBodyPart.setContent(htmlText, "text/html ");

//原理同发送附件一样,将邮件看成有多个部分组成的,先设置每一个部分,然后再全部将它们合起来即可。

//Create a related multi-part to combine the parts

MimeMultipart multipart = new MimeMultipart( "related ");

multipart.addBodyPart(messageBodyPart);

//Create part for the image

messageBodyPart = new MimeBodyPart();

//Fetch the image and associate to part

DataSource fds = new FileDataSource(file);

messageBodyPart.setDataHandler(new DataHandler(fds));

messageBodyPart.setHeader( "Content-ID ", "memememe ");

//Add part to multi-part

multipart.addBodyPart(messageBodyPart);

//Associate multi-part with message

message.setContent(multipart);

Transport.send(message);

System.out.println( "send ok! ");

}

catch(Exception ex)

{

System.out.println( "faild "+ex);

}

}

void jButton7_actionPerformed(ActionEvent e) {

try

{//该程序用来接受带有html信息的邮件

Properties props = System.getProperties();

Authenticator auth = new Email_Autherticator();

props.put( "mail.smtp.host ",host);

props.put( "mail.smtp.auth ", "true ");

Session session = Session.getDefaultInstance(props,auth);

Store store = session.getStore( "pop3 ");

store.connect(host,username,password);

//After connecting to the Store,you can get a Folder,which must be opened before you can read messages from it:

Folder folder = store.getFolder( "INBOX ");

folder.open(Folder.READ_WRITE);

Message message[] = folder.getMessages();

for (int i=0,n=message.length;i n;i++)

// for (int i=0,n=1;i n;i++)//only one letter received from inbox //for debug

{

String out_from_person = ((InternetAddress)message[i].getFrom()[0]).getPersonal();

String out_from_address = ((InternetAddress)message[i].getFrom()[0]).getAddress();

System.out.println( "From: "+out_from_person+ "\t ");

System.out.println( "Address: "+out_from_address+ "\t ");

String out_subject = message[i].getSubject();

System.out.println( "Subject: "+out_subject+ "\t ");

//获取邮件的信息,并且对其每一部分进行操作

Part messagePart = message[i];

Object out_content = messagePart.getContent();

if (out_content instanceof Multipart)

{

messagePart = ((Multipart)out_content).getBodyPart(0);

System.out.println( "[ Multipart Message ] ");

}

String out_content_type = messagePart.getContentType();

System.out.println( "CONTENT: "+out_content_type);

jEditorPane1.setText( " ");//将其显示在jEditorPanel上

jEditorPane1.setContentType( "text/html ");

jEditorPane1.setText((String)out_content);

jEditorPane1.setEditable(false);

/*

if (out_content_type.startsWith( "text/plain ") || out_content_type.startsWith( "text/html "))

{

InputStream ipstm = messagePart.getInputStream();

BufferedReader bufreader = new BufferedReader(new InputStreamReader(ipstm));

String thisLine = bufreader.readLine();

while (thisLine != null)

{

System.out.println( "thisLine: "+thisLine);

thisLine = bufreader.readLine();

}

}

*/

System.out.println( "------------------------------------------------------------ ");

message[i].setFlag(Flags.Flag.DELETED,true);

}

folder.close(true);

store.close();

}

catch(Exception ej2)

{

System.out.println(ej2);

}

}

怎么在html中创建超级链接和电子邮件链接

1、首先新建一个首页,用什么软件写无所谓啊。

2、然后在body随便写一个元素,我写一个P吧

3、然后在里面写一个a标签,里面写一个href【超文本引用】

4、接着写上你的需要链接的邮箱地址

5、测试一下,是邮箱打开就行了

6、如果想在收件人地址栏中同时输入多个电子邮件地址时,那么就可以使用形如“mailto: 123456789@qq.com;987654321@qq.com”这样的语句,记住每个电子邮件之间用“;”隔开,这样当浏览者单击由该语句创建的电子邮件超级连接时,在弹出的邮件编辑窗口的收件人地址栏中同时会出现123456789@qq.com;987654321@qq.com这样的收件人地址,浏览者就能同时向这些人发送电子邮件。

7、同理,还可以写成发短信什么的,用一个sms就好啦,很多连接我就不给大家一一演示啦~

拓展资料

超文本标记语言,标准通用标记语言下的一个应用。

“超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。

超文本标记语言的结构包括“头”部分(英语:Head)、和“主体”部分(英语:Body),其中“头”部提供关于网页的信息,“主体”部分提供网页的具体内容。

参考资料:百度百科-html

HTML怎么创建更复杂的邮箱链接?

如果要使用mailto同时实现多个功能的话,第一个功能必须以“?”开头,后面的每一个功能都以“”开头;另外,cc后为抄送地址,bcc后为暗送地址,subject后为邮件的主题,body后为邮件的内容。

百度上有...

2条大神的评论

  • avatar
    访客 2022-09-22 下午 07:21:00

    求问如何编写兼容各主流邮箱的HTML邮件这些由站方发给会员的信件,往往纯文本格式已不能满足界面和交互的要求,这时候我们就需要发送HTML页面。由于HTML邮件不是独立的HOST在本站的页面,是寄人篱下的。所以编写HTML邮件与编写HT

  • avatar
    访客 2022-09-22 下午 07:02:30

    = new InternetAddress(mail_to); message.addRecipient(Message.RecipientTy

发表评论