plandex-ai/plandex · error

error sending invite email: %v

Error message

error sending invite email: %v

What it means

Inside the same invite transaction, email.SendInviteEmail fails after the invite row was created, rolling back the tx. SMTP/provider error — bad mail config, unreachable mail server, or invalid recipient address.

Source

Thrown at app/server/handlers/invites.go:147

		err = db.CreateInvite(&db.Invite{
			OrgId:     auth.OrgId,
			OrgRoleId: req.OrgRoleId,
			Email:     req.Email,
			Name:      req.Name,
			InviterId: currentUserId,
		}, tx)

		if err != nil {
			log.Printf("Error creating invite: %v\n", err)
			return fmt.Errorf("error creating invite: %v", err)
		}

		err = email.SendInviteEmail(req.Email, req.Name, auth.User.Name, org.Name)

		if err != nil {
			log.Printf("Error sending invite email: %v\n", err)
			return fmt.Errorf("error sending invite email: %v", err)
		}

		return nil
	})

	if err != nil {
		log.Printf("Error inviting user: %v\n", err)
		http.Error(w, "Error inviting user: "+err.Error(), http.StatusInternalServerError)
		return
	}

	log.Println("Successfully created invite")
}

func ListPendingInvitesHandler(w http.ResponseWriter, r *http.Request) {
	log.Println("Received a request for ListInvitesHandler")

	if os.Getenv("GOENV") == "development" && os.Getenv("LOCAL_MODE") == "1" {

View on GitHub (pinned to e2d772072e)

Solutions

  1. Check the wrapped SendInviteEmail error and mail server logs
  2. Verify SMTP credentials/config in the environment
  3. Confirm the recipient email is deliverable, then re-invite
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at app/server/handlers/invites.go:147 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of plandex-ai/plandex@e2d772072e (2026-09-05). Data as JSON: /api/errors/f58bd0751557c96b. Report an issue: GitHub.