Modify

Opened 3 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 .
Author


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

 
Note: See TracTickets for help on using tickets.