Files
eminuxCRM/app/views/mail_identities/_form.html.erb
T
eminuxandCursor 36b3ffe507
CI / scan_ruby (push) Failing after 13m27s
CI / scan_js (push) Successful in 11m45s
CI / lint (push) Failing after 12m4s
Aggiunge IMAP bounce e flag email non valide nel CRM.
Permette di leggere i bounce dalla stessa MailIdentity SMTP, aggiornare le email in anagrafica e saltare gli indirizzi invalidi nei mailing.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-08 19:46:04 +02:00

86 lines
4.5 KiB
ERB
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<%= form_with model: mail_identity, class: "space-y-6 rounded-xl border border-zinc-200 bg-white p-4 text-zinc-900 dark:border-zinc-800 dark:bg-zinc-900 dark:text-zinc-100 md:p-6" do |f| %>
<%= render "shared/errors", object: mail_identity %>
<div class="grid gap-4 md:grid-cols-2">
<div class="md:col-span-2">
<label class="mb-1 block text-sm font-medium">Nome account</label>
<%= f.text_field :name, required: true, placeholder: "MatchLiveTV produzione", class: input_class %>
</div>
<div>
<label class="mb-1 block text-sm font-medium">Nome mittente</label>
<%= f.text_field :from_name, required: true, placeholder: "MatchLiveTV", class: input_class %>
</div>
<div>
<label class="mb-1 block text-sm font-medium">Email mittente</label>
<%= f.email_field :from_email, required: true, placeholder: "hello@example.com", class: input_class %>
</div>
<div class="md:col-span-2">
<label class="mb-1 block text-sm font-medium">Reply-To (opzionale)</label>
<%= f.email_field :reply_to, class: input_class %>
</div>
<div>
<label class="mb-1 block text-sm font-medium">Host SMTP</label>
<%= f.text_field :smtp_host, required: true, placeholder: "smtp.example.com", class: input_class %>
</div>
<div>
<label class="mb-1 block text-sm font-medium">Porta</label>
<%= f.number_field :smtp_port, required: true, min: 1, max: 65535, class: input_class %>
<p class="mt-1 text-xs text-zinc-500">587 con STARTTLS · 465 con SSL/TLS (Aruba: smtp.aruba.it:587 oppure smtps.aruba.it:465)</p>
</div>
<div>
<label class="mb-1 block text-sm font-medium">Crittografia</label>
<%= f.select :encryption, Catalog::MAIL_ENCRYPTIONS.map { |k, v| [v, k] }, {}, class: input_class %>
</div>
<div>
<label class="mb-1 block text-sm font-medium">Autenticazione</label>
<%= f.select :smtp_authentication, Catalog::MAIL_AUTH_METHODS.map { |k, v| [v, k] }, {}, class: input_class %>
</div>
<div>
<label class="mb-1 block text-sm font-medium">Utente SMTP</label>
<%= f.text_field :smtp_username, autocomplete: "off", class: input_class %>
</div>
<div>
<label class="mb-1 block text-sm font-medium">Password SMTP<%= " (lascia vuoto per non cambiare)" unless mail_identity.new_record? %></label>
<%= f.password_field :smtp_password, autocomplete: "new-password", class: input_class %>
<p class="mt-1 text-xs text-zinc-500">Stessa password usata anche per IMAP (lettura bounce).</p>
</div>
<div class="md:col-span-2 border-t border-zinc-100 pt-4 dark:border-zinc-800">
<h2 class="text-sm font-semibold">IMAP (lettura casella / bounce)</h2>
<p class="mt-1 text-xs text-zinc-500">Di solito host e porta si compilano da soli in base allSMTP (es. Aruba → imaps.aruba.it:993).</p>
</div>
<div>
<label class="mb-1 block text-sm font-medium">Host IMAP</label>
<%= f.text_field :imap_host, placeholder: mail_identity.inferred_imap_host || "imaps.aruba.it", class: input_class %>
</div>
<div>
<label class="mb-1 block text-sm font-medium">Porta IMAP</label>
<%= f.number_field :imap_port, min: 1, max: 65535, class: input_class %>
</div>
<label class="flex min-h-11 items-center gap-3 rounded-lg border border-zinc-200 px-3 py-2 text-sm dark:border-zinc-700 md:col-span-2">
<%= f.check_box :imap_enabled, class: "size-5" %>
Abilita lettura IMAP (bounce) con le stesse credenziali SMTP
</label>
<label class="flex min-h-11 items-center gap-3 rounded-lg border border-zinc-200 px-3 py-2 text-sm dark:border-zinc-700">
<%= f.check_box :verify_ssl, class: "size-5" %>
Verifica il certificato SSL del server
</label>
<label class="flex min-h-11 items-center gap-3 rounded-lg border border-zinc-200 px-3 py-2 text-sm dark:border-zinc-700">
<%= f.check_box :active, class: "size-5" %>
Account attivo
</label>
</div>
<div class="flex flex-col gap-2 border-t border-zinc-100 pt-4 sm:flex-row dark:border-zinc-800">
<%= f.submit mail_identity.new_record? ? "Crea account" : "Salva", class: "#{btn_primary} w-full sm:w-auto" %>
<%= link_to "Annulla", mail_identities_path, class: "#{btn_secondary} w-full sm:w-auto" %>
</div>
<% end %>
<% unless mail_identity.new_record? %>
<div class="mt-4">
<%= button_to "Elimina account", mail_identity_path(mail_identity), method: :delete,
class: btn_danger,
form: { data: { turbo_confirm: "Eliminare #{mail_identity.name}?" } } %>
</div>
<% end %>