<?xml version="1.0" encoding="utf-8"?>
<!-- name="GENERATOR" content="github.com/mmarkdown/mmark Mmark Markdown Processor - mmark.miek.nl" -->
<rfc version="3" ipr="trust200902" docName="draft-billon-expires-06" submissionType="IETF" category="std" xml:lang="en" xmlns:xi="http://www.w3.org/2001/XInclude" indexInclude="true" consensus="true">

<front>
<title abbrev="expires">Updated Use of the Expires Message Header Field</title><seriesInfo value="draft-billon-expires-06" stream="IETF" status="standard" name="Internet-Draft"></seriesInfo>
<author initials="B." surname="Billon" fullname="Benjamin Billon"><organization>Splio</organization><address><postal><street></street>
</postal><email>bbillon@splio.com</email>
</address></author><author initials="J." surname="Levine" fullname="John Levine"><organization>Standcore LLC</organization><address><postal><street></street>
</postal><email>standards@standcore.com</email>
</address></author><date/>
<area>Application</area>
<workgroup></workgroup>
<keyword>email</keyword>

<abstract>
<t>This document allows broader use of the Expires message header field for mail messages.
Message creators can then indicate when a message sent becomes valueless and can safely be deleted, while recipients would use the information to delete or ignore these valueless messages.</t>
</abstract>

</front>

<middle>

<section anchor="introduction"><name>Introduction</name>
<t>The date and time of expiration can be used by the mailbox provider or the MUA to indicate to the user that certain messages could be deleted, in an attempt to unclutter the user's mailbox and spare storage resources.</t>
<t>The key words &quot;MUST&quot;, &quot;MUST NOT&quot;, &quot;REQUIRED&quot;, &quot;SHALL&quot;, &quot;SHALL NOT&quot;, &quot;SHOULD&quot;, &quot;SHOULD NOT&quot;, &quot;RECOMMENDED&quot;, &quot;NOT RECOMMENDED&quot;, &quot;MAY&quot;, and &quot;OPTIONAL&quot; in this document are to be interpreted as described in BCP 14 <xref target="RFC2119"></xref> <xref target="RFC8174"></xref> when, and only when, they appear in all capitals, as shown here.</t>
</section>

<section anchor="example"><name>Header Field example</name>
<t>The header field definition and syntax remain the same as in <xref target="RFC4021"></xref>,
the time at which a message loses its validity.</t>

<sourcecode type="abnf">expires = &quot;Expires&quot; &quot;:&quot; date-time
</sourcecode>
<t>Example:</t>
<t><tt>Expires: Wed, 1 Dec 2021 17:22:57 +0000</tt></t>
<t>Message creators MUST NOT include more than one Expires header field in the message they send.</t>
<t>If there is more than one Expires header field then message readers SHOULD act as if no Expires header field is present.</t>
</section>

<section anchor="security"><name>Security considerations</name>
<t>Dates in this header field can be set a long way in the past or in the future, including outside the range of internal time representations in some programming environments - all software which processes the Expires header field MUST be made safe against this possibility.</t>
</section>

<section anchor="senders"><name>Advice to Message Creators</name>
<t>Message creators add the header field along with a relevant date and time when they know that the content of the message has no value after a given point of time.
This could apply to commercial newsletters, that include time-limited offers, event announcements, social notifications, or Time-limited access codes.</t>
</section>

<section anchor="receivers"><name>Advice to Message Readers (Mailbox providers, Webmails and MUAs)</name>
<t>The expiration of a message's validity would logically lead to the deletion of the message. However, users on most systems do not expect their emails to disappear, and may not be aware that any particular email has an Expires header field. Therefore, no email should be silently and automatically deleted solely based on the value of the Expires header field.</t>
<t>Mailbox providers could indicate when a user is viewing an expired message, and could
allow users to control over the actions to take for expired messages.</t>
<t>The information provided in the header field is intended to be used as a signal that could be used to provide a feature or improved experience to the end-user. For instance, systems may allow automatic rules to clean up expired email from specific message creators or with defined characteristics, or to provide a mode to quickly handle all expired email.</t>
<t>In certain cases, email messages can be used as an element of an investigation. An early deletion may compromise an investigation, so mailbox providers could ignore the Expires information in such cases.</t>
<t>Presence of the Expires header field MUST NOT be interpreted as a sign that a message is legitimate.</t>
</section>

<section anchor="history"><name>Past History of the Expires: header field</name>
<t><xref target="RFC4021"></xref> defines a number of header fields that can be added to Internet messages including those used for mapping between X.400 and RFC822/MIME <xref target="RFC2156"></xref>. One of them is the Expires header field that provides the date and time at which a message is considered to lose its validity.</t>
<t>The same principle can be applied to the Expires header field in general, whether the message comes from a X.400 gateway as initially intended in <xref target="RFC2156"></xref>, or elsewhere.</t>
<t>Netnews articles <xref target="RFC5536"></xref> have an Expires header with a similar slightly more strict syntax and similar meaning.</t>
</section>

<section anchor="acknowledgements"><name>Acknowledgements</name>
<t>This document was informed by discussions with and/or contributions from Jonathan Loriaux, Charles Sauthier and Simon Bressier.</t>
</section>

<section anchor="iana-considerations"><name>IANA Considerations</name>
<t>IANA is requested to update an existing entry in the <eref target="https://www.iana.org/assignments/message-headers/message-headers.xhtml">Permanent Message Headers Field Names registry</eref></t>
<t>Header field name: Expires</t>
<t>Applicable protocol: mail</t>
<t>Status: standard</t>
<t>Author/Change controller: IETF</t>
<t>Specification document: this document</t>
</section>

</middle>

<back>
<references><name>Normative References</name>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2156.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
</references>
<references><name>Informative References</name>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.4021.xml"/>
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5536.xml"/>
</references>

</back>

</rfc>
