Creating Tickets by Email in GLPI 11: Gmail, Microsoft 365 and the Email That Silently Disappears

How we set up the GLPI 11 mail receiver on our support instance: folders, rules and attachments, Gmail versus Microsoft 365 (OAuth with the OAuthIMAP plugin) and why, by default, senders without an account are silently refused.

In this article6 sections

This week we connected [email protected] to our GLPI 11: an email becomes a ticket, and the customer's reply becomes a follow-up on the same ticket. But with the default configuration, when someone without a GLPI account writes in, the email goes to the refused folder and nobody receives anything. This guide shows the configuration we use, what changes between Gmail and Microsoft 365, and the rules that decide whether an email becomes a ticket or disappears.

How the mail receiver works

GLPI reads a mailbox over IMAP at fixed intervals. For each message:

  • A new email becomes a ticket, with the subject as the title and the body as the description. Attachments come along, up to the configured limit.
  • A reply to a ticket becomes a follow-up. GLPI recognizes the reply by the message headers, not just by the subject.
  • Anyone in CC can be added as an observer.
  • Once processed, the message is moved to an accepted or a refused folder, and the inbox stays clean.

Collection is an automatic action (mailgate) that, by default, runs every 10 minutes and reads up to 10 emails at a time. In other words, a ticket sent by email can take up to 10 minutes to show up.

The configuration we use

In Setup > Receivers:

Field What we use
Server imap.gmail.com, port 993, IMAP with SSL and certificate validation
Login The account that receives chamados@ (an alias that delivers to this mailbox)
Accepted mail archive folder (optional) GLPI-Importados
Refused mail archive folder (optional) GLPI-Recusados
Maximum size of each file imported by the mails receiver 10 MB
Add CC users as observer Yes
Collect only unread mail No (the folders already separate what has been processed)

Plus a receiver rule that sets the ticket's entity. Without a rule, the email has nowhere to go.

Gmail or Microsoft 365: authentication changes everything

GLPI 11 connects over IMAP with a username and password. What changes is what each provider accepts:

  • Gmail / Google Workspace: works with an app password (the account needs 2-Step Verification), which is what we use. For those who prefer OAuth, there is the official OAuthIMAP plugin.
  • Microsoft 365 / Exchange Online: Microsoft has turned off basic authentication for IMAP; username and password no longer work. The way forward is the OAuthIMAP plugin (version 1.5 for GLPI 11), with an application registered in Microsoft Entra ID.

OAuth does not come built into GLPI 11. Our own GLPI had an old receiver with Google OAuth that depended on the plugin. The plugin was removed, the receiver went inactive and piled up 1,846 errors without anyone noticing. If you use OAuth, keep the plugin in your update plan and keep an eye on the receiver's error counter.

Who gets a ticket: the rules that catch you off guard

Flowchart: GLPI 11 ignores its own notifications and blacklisted senders, turns replies into follow-ups or new linked tickets, creates tickets for senders with an account and rights, and refuses the rest if anonymous tickets are off
With the default setup, senders without a GLPI account are silently refused. Path checked in the GLPI 11 source code, NexTool, October 4, 2026.
What arrives What GLPI does
Email from someone who has an account and can open tickets in the entity Creates the ticket
Email from someone without an account, with anonymous tickets turned off (the default) Refuses: the message goes to the refused folder and is logged under "Not imported emails"
Email from someone who has an account but no right to open tickets in that entity Refuses, the same way
Reply to an open ticket Becomes a follow-up
Reply to a closed ticket Creates a new ticket, linked to the old one
Notification sent by GLPI itself Ignores it, to avoid a loop
Sender on the Blacklist Ignores it

The row that catches people out most is the second one. In an internal service desk, everyone has an account and the default works. In customer support, half of the emails may come from people who have never logged into GLPI. And the refusal is silent: nobody replies to the sender unless a rule says so.

The three ways out, from the most open to the most controlled:

  1. Automatically create user from email (an option of the receiver itself): whoever writes in gets an account and the ticket is opened. It is the one we use on our support instance.
  2. Allow anonymous ticket creation (receiver) (general Assistance setting): the ticket is opened with the sender's email address, without creating an account.
  3. Receiver rule that refuses with a reply: the sender gets a notice ("open your ticket through the portal") instead of getting nothing.

Pick one on purpose. The worst scenario is the default with nobody aware of it.

How we tested

With the receiver enabled on our support GLPI:

  1. A test email to chamados@ became a ticket on the next collection run, with the sender recognized as the requester.
  2. The email reply to the ticket notification came in as a follow-up on the same ticket.
  3. The message left the inbox and went to GLPI-Importados.
  4. We checked in the GLPI 11 code the path of each case in the table above (unknown sender, no rights, closed ticket, anti-loop).

Checklist before publicizing the address

  1. Receiver with the accepted and refused folders created in the mailbox.
  2. Receiver rule setting the entity (and, if you want, category or group).
  3. Decision made for senders without an account: create the user, anonymous, or refuse with a reply.
  4. Attachment limit in line with what customers send (screenshots and PDFs often exceed 2 MB).
  5. GLPI cron running from the command line (see step 6 of how to install GLPI 11).
  6. Notifications configured, so the customer receives the ticket number and can reply: email notifications in GLPI.
  7. Check "Not imported emails" and the receiver's error counter once a week during the first month.

To remove duplicates, signatures and auto-replies before they become tickets, see the Mail Analyzer.


Configured and tested by NexTool on October 4, 2026, on the GLPI 11.0.7 of our support desk, with the address [email protected]. Refusal, reply and anti-loop behaviors checked in the GLPI 11 source code. OAuthIMAP plugin: version 1.5.4 (GLPI 11.0.x), according to the official repository.

Frequently Asked Questions

Set up a receiver under Setup > Receivers pointing to the mailbox over IMAP, create the accepted and refused folders and a receiver rule that sets the entity. The mailgate automatic action reads the mailbox every 10 minutes by default.

The most common reason is that the sender has no GLPI account while anonymous tickets are off, or has no right to open tickets in the entity. The email goes to the refused folder and appears under Not imported emails.

Yes, but Microsoft turned off basic authentication for IMAP. You need OAuth, with the OAuthIMAP plugin (version 1.5 for GLPI 11) and an app registered in Microsoft Entra ID.

Yes. With 2-Step Verification on, use an app password in the IMAP receiver, or use OAuth with the OAuthIMAP plugin.

GLPI creates a new ticket linked to the old one instead of reopening the closed ticket.

Need help?