邮件设置求助,有关html和text格式的

作者&投稿:梁肃 (若有异议请与网页底部的电邮联系)
我已经将outlook邮件格式已经设置成html,为什么发出去的邮件还是plain text格式的?~

1、在A的OUTLOOK“联系人”文件夹中找到收件人B,然后双击该联系人以打开联系人详细信息窗口。
2、双击联系人电子邮件地址以打开“电子邮件属性”对话框。
3、在“Internet 格式”列表中,确认选择的不是“只发送纯文本”。

发送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= " hello "+ " click me please! ";
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 = " "+ " ";//加入图片
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+ " ");
System.out.println( "Address: "+out_from_address+ " ");

String out_subject = message[i].getSubject();
System.out.println( "Subject: "+out_subject+ " ");

//获取邮件的信息,并且对其每一部分进行操作
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);
}

}

邮件有很多中显示形式,显示形式主要取决于其MIME类型,每种显示形式有相应的内容,他们之间用分割符号分开。一下是一个构造邮件主体内容的类:
<?php
//
// Definition of tsNotificationMailHandle
r class
//
// Created on: <01-Nov-2002 13:51:17
amos>
//
// SOFTWARE NAME: eZ Publish
// SOFTWARE RELEASE: 4.0.1
// BUILD VERSION: 22260
// COPYRIGHT NOTICE: Copyright (C) 1999-2008 eZ Systems AS
// SOFTWARE LICENSE: GNU General Public License v2.0
// NOTICE: >
// This program is free
software; you can redistribute it and/or
// modify it under the terms of
version 2.0 of the GNU General
// Public License as published
by the Free Software Foundation.
//
// This program is distributed
in the hope that it will be useful,
// but WITHOUT ANY WARRANTY;
without even the implied warranty of
// MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the
// GNU General Public License
for more details.
//
// You should have received a
copy of version 2.0 of the GNU General
// Public License along with
this program; if not, write to the Free
// Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston,
// MA 02110-1301, USA.
//
//

class tsNotificationMailHandler
{

public
function __construct( $plainText = false, $htmlText = false )
{

$this->setPlainText( $plainText );

$this->setHtmlText( $htmlText );
}

function
setPlainText( $text )
{

$this->plainText = $text;
}
function
setHtmlText( $text )
{

$this->htmlText = $text;
}

function
getRandomBoundary($offset = 0)
{

srand(time()+$offset);

return ( "----" . ( md5( rand() ) ) );
}

function
build()
{

$mailBody = false;

$bodyBoundary = $this->getRandomBoundary();

//add the
body and boundary of the mail
if
($this->plainText != "")
{

$mailBody .=
"--".$bodyBoundary. "\n";

$textHeader
= $this->formatTextHeader();

$mailBody .=
$textHeader;
}
if
($this->htmlText != "")
{

$mailBody .=
"--".$bodyBoundary. "\n";

$htmlHeader
= $this->formatHTMLHeader();

$mailBody .=
$htmlHeader;
}

$mailBody .=
"\n--".$bodyBoundary. "--";
return
$mailBody ;
}

function
formatTextHeader()
{

$outTextHeader = "";

$outTextHeader .= "Content-Type: text/plain;
charset=utf-8\n";

$outTextHeader .= "Content-Transfer-Encoding: 7bit\n\n";

$outTextHeader .= $this->plainText. "\n";

return $outTextHeader;
}

function
formatHTMLHeader()
{

$outHTMLHeader = "";

$outHTMLHeader .= "Content-Type: text/html; charset=utf-8\n";

$outHTMLHeader .= "Content-Transfer-Encoding: 7bit\n\n";

$outHTMLHeader .= $this->htmlText. "\n";

return $outHTMLHeader;
}

private
$htmlText;
private
$plainText;
}

两个私有属性分别存放两种类型的内容,内容是在构造函数中传参的,调用自身的build()方法去构造最终的显示内容并且返回。

在外部可以这样调用:

$mail->extractEmail( $addressItem, $email, $name
);

$mail->addBcc( $email, $name );

$mail->addReceiver( $email, $name );

$mail->setContentType('multipart/alternative','utf-8',false,false,$parameters['boundary']);

$mail->setSender( $emailSender );

$mail->setSubject( $subject );

$mail->setBody( $body );
这个$body 就是调用类中的build方法返回的内容。
这个$mail对象的类型不定,这儿只是一个例子,mail的具体类型可以自己写,无非就是设置头部,设置发送人,接受人之类的信息。
需要特别注意的是内容是纯文本和html两种格式的头部设置邮件的类型为:multipart/alternative;另一个参数是分割服,boundary,这个分割符可以调用上边类的方法getRandomBoundary()。

最终邮件源码发送出来以后就是下面这样的 形式,分割符号把不同的内容分割开来:

From - Thu Oct 14 14:44:52 2010
X-Account-Key: account3
X-UIDL: 1tbiEAVqTUiNYqIyFAAAsR
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
X-Mozilla-Keys:
Received: from xiuji.cai (unknown [220.248.96.170])
by mx14 (Coremail) with SMTP id QMCowLBbLySDprZMTt4mBw--.179S2;
Thu, 14 Oct 2010 14:43:16 +0800 (CST)
Received: from xiuji.cai (localhost [127.0.0.1])
by xiuji.cai (8.14.3/8.14.3) with ESMTP id o9E6hkhO024008
for <xiujixin@163.com>; Thu, 14 Oct 2010 14:43:46 +0800
Received: (from hannes@localhost)
by xiuji.cai (8.14.3/8.14.3/Submit) id o9E6hkIe024007;
Thu, 14 Oct 2010 14:43:46 +0800
X-Authentication-Warning: xiuji.cai: hannes set sender to jinxiudaxin@hotmail.com using -f
To: xiujixin@163.com
Subject: Article "rrrrrrr" was published [admin.trustedsources.co.uk - China Blog]
Date: Thu, 14 Oct 2010 06:43:46 +0000
From: Hannes Cai <jinxiudaxin@hotmail.com>
MIME-Version: 1.0
Content-Type: multipart/alternative; charset=utf-8; boundary="----c0459eef8a3391dc84f2418f0d8722a1"
Content-Transfer-Encoding:
8bit
Content-Disposition: inline
User-Agent: eZ Publish, Version 4.0.1
Message-ID: <node.16075.eznotification@admin.trustedsources.co.uk>
References: <node.1.eznotification@admin.trustedsources.co.uk>
<node.2.eznotification@admin.trustedsources.co.uk>
<node.15808.eznotification@admin.trustedsources.co.uk>
<node.15809.eznotification@admin.trustedsources.co.uk>
In-Reply-To:
<node.15809.eznotification@admin.trustedsources.co.uk>
X-Coremail-Antispam: 1Uf129KBjDUn29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7v73
VFW2AGmfu7jjvjm3AaLaJ3UbIYCTnIWIevJa73UjIFyTuYvjxUyppBDUUUU

------c0459eef8a3391dc84f2418f0d8722a1
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

This email is to inform you that a new item has been published at admin.trustedsources.co.uk.
The item can be viewed by using the URL below.

rrrrrrr - Hannes Cai http://admin.trustedsources.co.uk/blog/china/rrrrrrr

If you do not want to continue receiving these notifications,
please change your settings at:
http://admin.trustedsources.co.uk/notification/settings

-----------------
admin.trustedsources.co.uk notification system
------c0459eef8a3391dc84f2418f0d8722a1
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 7bit

<html>
<head>
</head>
<body>
<font color="#00ff00">this is the html template!</font>
</body>
</html>

------c0459eef8a3391dc84f2418f0d8722a1--


求助,我的手机是华为u9508,刚下了一个桌面怎么设置成默认的,现在按h键...
那试试打开下载的桌面程序,里面的设置应该有设置成默认。实在不行的话就下个360优化大师之类的软件,里面有设置默认程序。如果你手机有两个或以上的类似程序,你都可以设置成你想用的那个

进入BIOS后全是英文!我都看不懂!谁有没有逐项详细说明的文章?急...
AWARD BIOS是目前兼容机中应用较为广泛的一种BIOS,但是由于里面的信息全为英文且需要用户对于相关专业知识的理解相对深入,所以有些用户设置起来感到困难很大。如果这些有关信息设置不当的话,将会大大影响整台电脑主机的性能。下面介绍一下AWARD BIOS中的有关设置选项的含义和设置方法,AWARD BIOS的主菜单主要有以下几个...

电脑总是出现某个应用导致:h七m文件的默认应用设置出现问题。因此它已...
3.比如运行迅雷时提示缺少某个文件,可以尝试重新安装迅雷。若以上方法无效,可能是软件之间的冲突导致出错。解决办法是尝试关闭几个无关的正在运行的应用程序,看看错误是否还会重现。若已解决,就知道是哪两个软件冲突,不再同时运行这两个软件即可解决。4.或者向厂商反馈故障,督促厂商升级解决。如果不...

金鹏H499手机 手机屏幕设置 求助
可以把它取消的。我原来用的联想A365也是这样。以我的联想为例。设置--手机设置--待机显示设置--快捷图标设置--选择关闭,OK!

在梯形图写MOV HOFFFO UO\/GO后显示软元件设置有误是怎么回事?
首先先分清零和欧。H是十六进制常数,因此是H零FFF零,不是H欧FFF欧。最后一个也是,是U零\\G零,不是U欧\\G欧。还有就是U0\\G0这个中间斜线的方向区分一下,是右滑线,不是左滑线。最后看看你的PLC型号,是否支持U0\\G0的写法。例如FX2N就不支持,就得用TO和FROM指令读写特殊模块。FX3U就支持,...

求助,电信H618b家庭网关初始设置是什么,截图或PM都可以。
尊敬的电信用户,您好!中国电信赠送或者购买的宽带猫(无线宽带猫)是无法直接使用WIFI无线上网的,需要请专业人士进入宽带猫(无线宽带猫)配置界面设置路由模式方可当路由器(无线路由器)用,非专业人士不可自行配置。建议您购买无线路由器搭建WIFI环境。这样WIFI设备方能根据提示链接使用。目前安徽电信宽带...

配合公差必须有H吗
楼主所提的问题在GB1800.3-1998中有详细的规定和说明.配合公差中必须有H,配合代号用孔,轴的组合表示,分子为孔,分母为轴,当H为分子时,为基孔制,如H7\/k6,当H为分母时,为基轴制,这时H要小写,即为h,如K7\/h6.配合共有间隙,过盈和过渡配合三大类,过盈配合具有一定的过盈量,主要用于结合件无相对...

求助啊,戴尔U2515H接口和设置问题
你好 该款显示器参数如下 产品类型: LED显示器,广视角显示器 产品定位: 大众实用 屏幕尺寸: 25英寸 面板类型: IPS 最佳分辨率: 2560x1440 可视角度: 178\/178° 视频接口: HDMI,Displayport 可以使用HDMI线或者DP线进行连接 供参考

如何调整防火墙的设置,以支援H.323通信协议。
VoIP软件不但是网络电话的原始形态,更是开启免费通话新世纪到来的开路先锋。对于熟悉电脑及网络操作的人而言,只要发收双方电脑上安装VoIP软件,即可穿越网际网络相互通话,这实在是件既神奇又方便的事。更重要的是,透过VoIP软件,不论是当地PC to PC的对话,抑或跨国交谈都几乎免费,同时网上并有许多免费...

C盘是XP系统 我加了一个固态硬盘是H盘 怎么把H盘设为系统盘启动
步骤如下:必须在固态硬盘上装系统,让固态硬盘变为C盘。在bios里可以设固态硬盘优先。方法如下:1、开机进bios设置,可以看到boot device Priority,这个就是硬盘和其它设备的启动顺序的选择。两块硬盘的话,需要先设置一下硬盘的优先顺序。2、进上图中的Hard Disk Drivers(硬盘驱动器),指定两个硬盘...

秀洲区18779279307: 求助邮件发送html的写法
曲蓉牛黄: $email_msg=$this->load->view("page",$data,TRUE);

秀洲区18779279307: 求助:outlook 2003 怎么编辑html邮件,内部查看源代码 -
曲蓉牛黄: 首先,你可以用任意一个HTML编辑器编写HTML邮件正文,把它保存为.htm文件,然后利用下列方法之一把它放入Outlook邮件:选择Outlook菜单“工具/选项”,在“邮件格式”选项卡中确保默认的邮件格式是HTML.然后,用IE打开包含邮件...

秀洲区18779279307: "Tex"什么意思?有可能是什么的缩写吗? -
曲蓉牛黄: TeX(正式写法TEX,发音:国际音标/tɛx/,音译“泰赫”),是一个由美国电脑教授高德纳(Donald E. Knuth)编写的功能强大的排版软件.它在学术界十分流行,特别是数学、物理学和计算机科学界.TeX被普遍认为是一个很好的排版工具...

秀洲区18779279307: 请问text/xml和tex/html中的text、xml、html分别代表什么意思??? -
曲蓉牛黄: 这是一个文档的样式类型.text/xml即:xml类型文档. html就是html类型文档了. text.代表文档. xml.就是可扩展标记语言 (Extensible Markup Language, XML) html.超文本标记语言,即HTML(Hypertext Markup Language)

秀洲区18779279307: [求助]WebEasyMail如何实现HTML格式发送?
曲蓉牛黄: 不要在服务器上,到客户机上试试,看能不能打开.

秀洲区18779279307: 求助:实现邮件内容中插入Excel表格 -
曲蓉牛黄: 可以以HTML、XML格式插入表格,但推荐以附件形式插入Excel文件或以图片形式复制表格. 1、写邮件时选择高级模式,然后使用HTML格式. 2、将需要插入的表格单独复制到新的文件当中,然后另存为网页(HTML). 3、使用文本编辑器打开并复制有效数据至邮件中. 4、保存发送.

秀洲区18779279307: ie7下,无法使用html编辑邮件,为何?
曲蓉牛黄: 和你的系统、插件、有关~试着关闭一些杀毒软件再试~

秀洲区18779279307: 邮箱查阅功能求助,求思路!
曲蓉牛黄: 可以给用户的邮件是html文件,给html加一个事件,邮件打开后给发送者一个请求,服务器脚本获取请求把请求的时间记下来

秀洲区18779279307: TeX中,使用\documentclass{article} \usepackage{CJK} \usepackage{amssymb}作抬头为何显示不出中文? -
曲蓉牛黄: TeX中,使用\documentclass{article} \usepackage{CJK} \usepackage{amssymb}作抬头并没有显示中文的功能. 解决方法: 1、使用Ctex. 2、使用如下语言: \documentclass[10pt,a4paper]{article} \usepackage{fontspec, xeCJK} \...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网