[Design] [Proposal] Decoupling In/Outbound mail accounts
Alec Flett
alecf at osafoundation.org
Thu Feb 9 14:52:11 PST 2006
I think we could decouple this stuff pretty easily... its done this way
in the Thunderbird backend, though the UI was only recently exposed in
1.5 - there is a concept of an "Identity", (similar to a "contact" as we
define it, but more mail-specific) and "Account" and an "Incoming
Server" (or "Inbox")
The basic idea is that an Account consists of one Incoming Server, and
one or more Identities. The "Account" is just a container, and has very
few attributes of its own.
Account
+---IncomingServer
+---Identity
Identity
etc...
Further, an Identity could stand alone without an account.. If an
account is associated with an identity (think bidi-references) then the
mail composer library would use the data in the account/incoming server
to determine things like what "Sent" folder to use, etc.
Reply-To is an attribute of the identity, not the Incoming Server. So to
answer Morgen's question, I think that rather than think of the Reply-To
as somehow connected to the account on the IMAP/POP server, think of it
as a detail of the Contact.
In our world, Reply-To is really an annotation of the contact by the
mail code. that would be pretty easy:
class MailContactInfo(schema.Annotation):
schema.kindInfo(annotates=pim.Contact)
replyTo = schema.One(schema.Text)
Alec
Mimi Yin wrote:
> Is there a Reply-to field right now for Incoming mail? I think the
> Reply-to value in the Outgoing mail account settings could override
> whatever email address was entered for Incoming mail. In most cases,
> it will probably be the same email address.
>
> This solution is just appealing because it requires the least amount
> of change. See more below about the unified account approach.
>
> On Feb 8, 2006, at 4:38 PM, Morgen Sagen wrote:
>
>>
>> On Feb 8, 2006, at 4:16 PM, Mimi Yin wrote:
>>
>>> We want to allow people to easily send out invitations in 0.7
>>> without having to:
>>> + fill out incoming mail account information, thereby
>>> + sending Chandler into the throes of trying to download your email
>>> into the repository.
>>>
>>> Currently, if you fill out the SMTP account information, you have to
>>> fill out Incoming mail account information as well (so that there's
>>> a reply-to email address for outbound mail.)
>>>
>>> Here are a couple of proposals for how we might de-couple incoming
>>> and outgoing mail accounts in 0.7:
>>>
>>> + Add a "Reply to:" field to the SMTP account form. Allow users to
>>> send email by just filling out Outbound mail information without an
>>> Incoming mail account. AND/OR
>>
>> At first this one appealed to me, but then what happens if you create
>> an SMTP account (filling in a reply-to address), and then create an
>> IMAP account (also filling in a reply-to address). When you send
>> mail, which reply-to does the mail framework use? You could follow
>> the rule that if the IMAP/POP account you're using to "send from" has
>> a reply-to address filled in then use it, overriding what's in the
>> SMTP account.
>>
>>> + Unify Inbound and Outbound mail account info into a single Mail
>>> account. Users can optionally fill out the incoming mail server. AND/OR
>>> + Add a checkbox to the mail account form that is un-checked by
>>> default: Sync automatically.
>>
>> Actually, unifying Inbound and Outbound into a single Mail account is
>> rather appealing; the account edit dialog could have an account-type
>> listbox with three choices: IMAP, POP, or "Outbound only", and a
>> single reply-to field for the whole "account". The only downside is
>> that two Inbound accounts couldn't share the same Outbound account,
>> but that's probably not a big deal. This also means the awkward
>> "use as default 'from' account" radio button gets replaced by the
>> more natural "use as default mail account". So +1 to the
>> unification, but I don't think we need the "sync automatically"
>> checkbox if we have the 3-way account-type listbox I described
>> (unless you include that checkbox in addition to the listbox).
>
> I think this approach is ultimately more usable, since people think
> about email accounts as both Inbound and Outbound. In the future we
> can have something that stores SMTP accounts so that you can reuse
> them across multiple accounts, but for now, having users enter the
> same info a few times is probably okay.
>
> Do you think we need an Outbound only? We could just make the Inbound
> mail server info optional and force the user to Sync it manually.
> Otherwise, I think the first approach is cleaner.
>
>>
>> ~morgen
>> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>>
>> Open Source Applications Foundation "Design" mailing list
>> http://lists.osafoundation.org/mailman/listinfo/design
>
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>
> Open Source Applications Foundation "Design" mailing list
> http://lists.osafoundation.org/mailman/listinfo/design
More information about the Design
mailing list