MailBridge

object MailBridge : CodBi

MailBridge: invio di e-mail avviato dall'intelligenza artificiale con limitazione della velocità

Consente al modello AI di inviare e-mail tramite i marcatori CALL:mail(to='...', object='...', body='...'). Utilizza l'API di posta di FORMCYCLE in fase di esecuzione: ottiene il contesto di posta del sistema tramite MailContextProvider.getSystemContext(), quindi invia tramite SimpleTextMail.

Sicurezza e limitazione della velocità

  • Limite globale: massimo GLOBAL_MAX_MAILS_PER_HOUR messaggi di posta all'ora in tutte le sessioni

  • Limite per sessione: massimo SESSION_MAX_MAILS messaggi di posta per sessione di streaming

  • Whitelist dei destinatari: sono consentiti solo gli indirizzi corrispondenti a allowedRecipientPattern.

  • Il soggetto e il corpo sono disinfettati (nessuna iniezione di testata)

##Configurazione | Immobile | Formato | Esempio | |-----------------------|----------|--------------------| | AI_Mail_Enabled | vero/falso | vero | | "AI_Mail_AllowedRecipients" | Modello regex | .*@miaazienda\.com | | AI_Mail_MaxPerHour | Intero | "10" | | "AI_Mail_MaxPerSession" | Intero | "3" | | AI_Mail_Disclaimer | Testo libero | "Generato dall'intelligenza artificiale" |

Types

Link copied to clipboard
data class MailResult(val success: Boolean, val recipient: String? = null, val subject: String? = null, val error: String? = null)

Risultato di un tentativo di invio di un'e-mail.

Properties

Link copied to clipboard

Disclaimer text appended to every AI-sent email. Customise via AI_Mail_Disclaimer.

Link copied to clipboard

Regex pattern that recipient addresses must match. null = allow all.

Link copied to clipboard

Corrisponde a CALL:mail(to='...', object='...', body='...') nell'output del modello (modello completo).

Link copied to clipboard

Modello di fallback per CALL:mail troncato in cui il corpo è stato tagliato dal limite del token. Cattura to, soggetto e qualunque corpo del testo sia disponibile (anche senza virgolette/parentesi di chiusura).

Link copied to clipboard

Whether the mail bridge is enabled. Enable via AI_Mail_Enabled=true.

Link copied to clipboard

Se il mail bridge è pronto per l'invio. Se il contesto di posta del sistema non è disponibile in fase di esecuzione, "sendMail" restituirà un errore.

Link copied to clipboard

Maximum mails per hour (global across all sessions).

Link copied to clipboard

Maximum mails per streaming session. Customise via AI_Mail_MaxPerSession.

Functions

Link copied to clipboard

Pulisce un indirizzo e-mail acquisito dall'output del modello. Elimina emoji, icone (ad esempio ✉), spazi bianchi, e nuove righe.

Link copied to clipboard
fun clearSession(sessionId: String)

Cancella lo stato di limitazione della velocità per una sessione terminata.

Link copied to clipboard

Formats a mail result into a text block suitable for injecting into the conversation.

Link copied to clipboard
fun sendMail(to: String, subject: String, body: String, sessionId: String, clientIP: String = "unknown"): MailBridge.MailResult

Tenta di inviare un'e-mail per conto del modello AI.