Users, emails and aliases are a little bit articulated in OpenERP 7.0
User Alias the address as sender when an user sends some message (inside or outside openerp) and is combination of user_login@alias_domain. You can set alias_domain in Settings>General Settings>
User Email Is personal email (or company official email). It's sets in user preference. Based on Receive Messages by Email
setting in user preference, you will receive some/all/none notification from OpenERP and email.
User email could be
- same as user alias . In this case use in
Receive Messages by Email>Never
setting otherwise you will have a mail loop.
- some other email address like private email for each user. In this case is useful to set Incoming for
Receive Messages by Email>Emails and Discussions
settings in order to receive notification when something happens in your OpenERP installation.
Which is right choice ?
I can say that option 1. looks more professional. That because user might reply to some customer using the received notification and in case you are using option 2, customer will receive an email from user's private address and the related thread will go out of control of openerp (it's using "Follower of" but I've experience on some email without "Follower of")
But if you will use option 1 you will have in openerp all user messages, maybe also his/her holidays photos, this is a policy issue !!! but again there is a more important issue related to fetching.
- Option 1 requires to define a
Incoming Mail Server
for each user/address (see below). Anyway, email inbox password is personal and will change over the time out of control of openerp admin. In openerp users can't change Incoming Mail Server settings related to their account. So when a user changes his/her email pwd, he/she has to inform OpenERP admin with new password in order to change Incoming Mail Server settings .... otherwise OpenERP will break for that account.
- If user is using some email client than his/her inbox will be downloaded somewhere and OpenERP will never see (and manage) those email
- If user is using some webmail system, might happens that OpenERP fetches new email before than user can read it from the webmail so some of his/her new messages will be in openerp
- If opererp is using IMAP instead POP than all messages will leaved on server but OpenERP fetches a copy of message from IMAP only for unread messages. This means that if user has read a messages before of OpenERP that OpenERP will ignore that messages. In addiction if a user will delete a message from the IMAP that message will alive in OpenERP (because is a copy)
OpenERP is able to connect to IMAP accounts but it uses like a POP Unread +Leave on Server
My opinion is that option 1 isn't really usable that's why I'm using option 2. Someone might give more explanation on this.
Receiving emails in OpenERP (FetchMail)
OpenERP fetches email from incoming server/accounts configured in Settings/Technical>Incoming Mail Servers
You can configure how many Incoming Mail Servers
(this mean INBOX) you want. Each for any email address you want to fetch in OpenERP. But:
Question: What can do OpenERP with those emails ?
Answer: If a fetched email is addressed to some valid OpenERP alias (as is in Settings>Technical>Email>Aliases
) than that email is processed for some automated action or delivered to the related user. In 2nd case, If user preference is to receive notification than OpenERP will send a copy of fetched email to private user email address. (that's why you should use "Never" if alias and private email are same)
If fetched email is for un-existent OpenERP alias than OpenERP should ignore that email but at current time it will throw an exception and fetching will interrupt here forever (see open bug on this: When using POP server, a mail delivered to unknown/undefined alias makes fetchmail fail and stop parsing all emails: bugs.launchpad.net/openobject-addons/+bug/1104091)
So here you can:
- Create same real email address on your mail server as is for all of your alias in OpenERP. Than define an
Incoming Mail Servers
(read inbox) for each real email address
- On your mail server create a catch-all email address. Than define only one
Incoming Mail Servers
(read inbox) for that catch-all. OpenERP will fetch from catch-all and forward to right alias (Use an IMAP to avoid the bug mentioned above)
- Use a mixed of above. For example use real address for users and catch-all for all other alias that OpenERP will create (like is for project, sale dept, ecc...)
Sending email with OpenERP
OpenERP will sends email for
- System Notification: In this case company email (set it in:
Settings>Companies
)
- Discussion, email received for an alias ecc... If discussion alias author's is used as sender, if it's a notification for new received email than original sender is kept.
- A message composed by an user for some other user, some partner, or some other. In this case User Alias is used as sender.
- A message related to some document that uses template like Sale Order sending to a customer. In this case the sender should be same as defined in the template (
Settings>Technical>Emali>Template
) but at current time OpenERP is ignoring email_from and reply_to settings and uses always User Alias as sender (see open bug on this: email_from in email templates ignored bugs.launchpad.net/openobject-addons/+bug/1193283)
I don't know when and why OpenERP doesn't fix mentioned issues on email system