Modify

Opened 4 years ago

Last modified 3 years ago

#8462 new defect

Does not send notifications to non-local users

Reported by: jordi Owned by: doki_pen
Priority: normal Component: AnnouncerPlugin
Severity: normal Keywords:
Cc: Trac Release: 0.12

Description

Hi,

I'm trying to use AnnouncerPlugin in a new Trac 0.12 install and I'm having problems getting non-local users recieve notifications.

AnnouncerPlugin is at r9293, and the environment has two types of users:

  • local users are "virtual", and authenticate to Trac via LDAP. The usually don't have any email set in their preferences.
  • external users are extra users not existing in our LDAP, so they are declared in a htpasswd file. External user names are always in the form of email address, ie john@example.com. External users have their email set in the Trac preferences at creation time.

From our DEBUG logs:

Trac[inegocio:main] DEBUG: Dispatching <Request "POST '/ticket/7'">
Trac[inegocio:session] DEBUG: Retrieving session for ID 'john'
Trac[inegocio:main] DEBUG: Negotiated locale: None -> en_US
Trac[inegocio:api] INFO: Synchronized '' repository in 0.01 seconds
Trac[inegocio:blackmagic] DEBUG: Validating ticket: 7
Trac[inegocio:blackmagic] DEBUG: {'notice': None, 'hide': False, 'permission': '', 'tip': None, 'label': None, 'ondenial': 'disable', 'disable': False}
Trac[inegocio:api] DEBUG: Adding (None [0]) for 'always' on rule (TicketOwnerSubscriber) for (email)
Trac[inegocio:api] DEBUG: Adding (None [0]) for 'always' on rule (TicketReporterSubscriber) for (email)
Trac[inegocio:api] DEBUG: Adding (None [0]) for 'always' on rule (CarbonCopySubscriber) for (email)
Trac[inegocio:api] DEBUG: Adding (None [0]) for 'always' on rule (CarbonCopySubscriber) for (email)
Trac[inegocio:api] DEBUG: Adding (None [0]) for 'always' on rule (CarbonCopySubscriber) for (email)
Trac[inegocio:api] DEBUG: Adding (john [1]) for 'always' on rule (CarbonCopySubscriber) for (email)
Trac[inegocio:perm] DEBUG: No policy allowed anonymous performing TICKET_VIEW on None
Trac[inegocio:filters] DEBUG: Filtering anonymous because of rule: DefaultPermissionFilter
Trac[inegocio:perm] DEBUG: No policy allowed anonymous performing TICKET_VIEW on None
Trac[inegocio:filters] DEBUG: Filtering anonymous because of rule: DefaultPermissionFilter
Trac[inegocio:perm] DEBUG: No policy allowed anonymous performing TICKET_VIEW on None
Trac[inegocio:filters] DEBUG: Filtering anonymous because of rule: DefaultPermissionFilter
Trac[inegocio:perm] DEBUG: No policy allowed anonymous performing TICKET_VIEW on None
Trac[inegocio:filters] DEBUG: Filtering anonymous because of rule: DefaultPermissionFilter
Trac[inegocio:perm] DEBUG: No policy allowed anonymous performing TICKET_VIEW on None
Trac[inegocio:filters] DEBUG: Filtering anonymous because of rule: DefaultPermissionFilter
Trac[inegocio:api] DEBUG: AnnouncementSystem has found the following subscriptions: [rjuan(authenticated) via email]
Trac[inegocio:mail] DEBUG: EmailDistributor has found the following formats capable of handling 'email' of 'ticket': text/html, text/plain
Trac[inegocio:mail] DEBUG: EmailDistributor found the address 'john@our.local.domain' for 'john (authenticated)' via: DefaultDomainEmailResolver
Trac[inegocio:mail] DEBUG: EmailDistributor expected local delivery for john to: john@our.local.domain
Trac[inegocio:mail] DEBUG: EmailDistributor is sending event as 'text/plain' to: john@our.local.domain
Trac[inegocio:mail] DEBUG: Content of recip_adds: [u'john@our.local.domain', '""', 'john@our.local.domain']
Trac[inegocio:mail] DEBUG: EmailDistributor took 0.02 seconds to send.
Trac[inegocio:api] DEBUG: AnnouncementSystem sent event in 0.05 seconds.

Our configuration reads:

[components]
announcer.* = enabled
announcer.opt.acct_mgr.announce.* = disabled

[announcer]
admit_domains =
always_notify_component_owner = false
always_notify_owner = true
always_notify_reporter = true
always_notify_updater = false
;ctxtnav_names = Notify me, Do not notify me
ctxtnav_names =
default_email_format = text/plain
email_address_resolvers = SpecifiedEmailResolver, SessionEmailResolver, DefaultDomainResolver
email_default_domain = our.local.domain
email_enabled = true
email_from = trac@trac.our.local.domain
email_from_name = Trac
;email_replyto = 
;email_subject_prefix = 
;email_sender=
email_to =
ignore_cc_changes = true
ignore_domains =
never_announce = false
never_notify_author = false
mime_encoding = qp
smtp_always_bcc =
smtp_always_cc =
;ticket_email_header_fields = owner, reporter, milestone, priority, severity
;ticket_email_subject= Ticket #${ticket.id}: ${ticket['summary']} {% if action %}[${action}]{% end %}
use_public_cc = true
;wiki_email_subject = Page: ${page.name} ${action}

; Los parámetros del sendmail y el smtp van en secciones separadas
[sendmail]
sendmail_path = /usr/sbin/sendmail

[smtp]
password =
port = 25
server = 172.27.0.1
user =
use_tls = false

As you can see from the Trac logs, Announcer is correctly sending an email for the local user triggering the notification, but none for the 5 external users who should be carbon copied for that ticket.

Am I missing something, or is there a bug somewhere in the plugin?

Any pointers would be appreciated, thanks!

Attachments (0)

Change History (3)

comment:1 Changed 3 years ago by rjollos

I'm having a similar problem, but am not using LDAP. It seems like the email address from Preferences is being completely ignored.

comment:2 Changed 3 years ago by rjollos

Possibly a duplicate of #7824.

comment:3 Changed 3 years ago by rjollos

Okay, this seems to be different than #7824. I was seeing behavior similar to this, but it seems to be okay now that I'm running r10986 on Trac 0.12.

Add Comment

Modify Ticket

Action
as new The owner will remain doki_pen.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.