Gibt es die Möglichkeit, die Anzahl oder die Größe (Einzeln oder Summe aller) von Attachments festzulegen, die je Mail-Objekt möglich sind? Ich habe aktuell die Probleme, dass einige Mail vermutlich wegen "Übergröße" nicht versendet werden
Mail-Objekte haben meines Wissens nach keine Begrenzungen. Was an deiner Stelle das Problem sein könnte ist dein E-Mail-Anbieter. Evtl. hat dieser eine maximale Dateigrößenbegrenzung.
Du schreibst außerdem, das keine Mails versendet werden können, hast du einen Fehler bekommen oder werden sie verschickt, kommen aber nie an?
Wenn ich die console richtig gesehen habe, erscheint eine -1 (vermutlich ein Index-Problem). Wenn sich der SMTP-Client beim Provider mit der Gesamtgröße meldet und dann eine Absage bekommt - könnte Dein Hinweis ein Treffer sein. Ich habe auch beobachtet, dass das Netzwerk garnicht erst aktiv wird bei Mails ab ca. 5 MB. Die Anzahl spielt scheinbar keine Rolle. Danke für den Hinweis - werde ich mal klären.
Wenn du die Attachments selbst an die Mail hängst, müsstest du auch wissen, wie groß sie sind. Somit kannst du programmiertechnisch die Größen addieren und prüfen. Oder habe ich das falsch verstanden?
public class CustomMailMessage : MailMessage { public long MaximumCumulatedAttachmentSize { get; set; } public void AddAttachment(Attachment attachment) { long size = attachment.ContentStream.Length; foreach (var item in Attachments) { size += item.ContentStream.Length; }
if (size <= MaximumCumulatedAttachmentSize) Attachments.Add(attachment); else throw new InvalidOperationException(); } }
Danke für den Hinweis - werde ich mal klären.