Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
198 views
in Technique[技术] by (71.8m points)

html email outlook asks to download images

There may be absolutely no way to do this, and it might also be frowned upon. When I send a html email to outlook, the user is sometimes asked if they want to download the images and sometimes they just load. My first question is why is that? And my second question is, is there a way to prevent outlook from asking and have the images auto download, or is that something only the user can do?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

If the images are embedded image attachments, there won't be a prompt.

If the HTML references external images, the mesage must be stampted with a special property that cannot be transmitted and can only be set locally, either by the end user or programmatically (PR_BLOCK_STATUS property - see an excerpt from [MS-OXOMSG].pdf below.

If you are using Redemption, can set set that property using RDOMail.DownloadPictures property: http://www.dimastr.com/redemption/RDOMail.htm


2.2.1.1 PidTagBlockStatus

Type: PtypInteger32 8

Indicates the user's preference for viewing external content (such as links to images on an HTTP server) in the message body. A client MAY ignore this value and always allow or block external content based on other factors (such as whether the sender is on a safe list). If this property is used, then the default action is to block the external content. However, if the value of this property falls within a certain range, then viewing external content is allowed. The allowed value is computed from PidTagMessageDeliveryTime: since the sender of a message does not have knowledge of this value, the sender cannot reliably set PidTagBlockStatus to the allowed values.

To compute the allowed values, convert the value of PidTagMessageDeliveryTime to a PtypDouble, floatdate, where the date is represented as the number of days from midnight, December 30, 1899. Apply the following formula: result = ((floatdate - floor(floatdate)) * 100000000) + 3; where floor(x) returns the largest integer ? x. Convert the PtypDouble value result to a 32-bit integer computedvalue. Clients SHOULD set PidTagBlockStatus to computedvalue to allow external content. However, when determining whether to accept external content, clients SHOULD allow external content if the absolute value of the difference between computedvalue and the value of PidTagBlockStatus is 1 or less.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...