Alternative zu Thunderbird gesucht ...

CyborgBeta

Captain
Registriert
Jan. 2021
Beiträge
3.233
Hi,

ich suche eine Alternative zu Thunderbird, die möglichst open source wäre, und die man auf Win und nach Möglichkeit auch auf Linux installieren kann. Kennt da jemand etwas, was nicht heftig in den Geldbeutel greift?

Danke
 
Habe mir schon viele andere Programme dieser Art angesehen und bin immer wieder bei TB gelandet, was spricht denn dagegen?
 
  • Gefällt mir
Reaktionen: Eletron und CyborgBeta
Questionmark schrieb:
was spricht denn dagegen?
Eigentlich nur, dass ich i-wie mal ein anderes Design brauche und einen gesammelten Posteingang ... Und automatische KI-Antworten oder Formulierungshilfen wären nett. Ich bin aber Privatperson.
 
Für Linux fällt mir ad hoc Evolution ein. Das müsstest du auch eigentlich via WSL auf Windows zum laufen kriegen.
 
  • Gefällt mir
Reaktionen: CyborgBeta
  • Gefällt mir
Reaktionen: Gurkenwasser und CyborgBeta
Wie wäre es mit "Outlook-Express-Classic"?

Link: http://www.oeclassic.com

Einfach mal testen...
(Spricht etwas gegen diese Software, Bedenken bitte hierher einfügen...)

Ich bitte um eure Erfahrungen mit diesem "Oldtimer", danke..?

Micha
 
Ponderosa schrieb:
Eine aus den 91 Möglichkeiten auswählen
In die nähere Auswahl kämen: K9 (aber das ist nur für Android), Geary (leider nur Linux) und Evolution.

madmax2010 schrieb:
Kostet bestimmt was?
Ergänzung ()

Was würdet ihr von https://hub.docker.com/r/roundcube/roundcubemail/ oder RainMail halten? Das wäre eben für den Webbrowser ...
 
CyborgBeta schrieb:
Kostet bestimmt was?
Nope. LLama3 kann man lokal betreiben.
Mit LLMs kommuniziert man entweder via API, was halt entsprechend kostet, oder man betreibt sie selbst.
CyborgBeta schrieb:
meinst du rainloop?

Ist wie roundcube halt ein Webmail client, den du irgendwo hosten musst.
Dann kannst du auch gleich Nextcloud betreiben, was deutlich modernere und umfassende Groupware als ROundcube beinhaltet und du kannst aus X wegen waehlen, deine Texte von LLMs vervollständigen zu lassen. Entweder API keys für OpenAI, oder eins der vielen lokal laufenden Netze:
https://nextcloud.com/blog/ai-in-nextcloud-what-why-and-how/
 
  • Gefällt mir
Reaktionen: CyborgBeta
@FünfProzent und mit 0 Bugfixes, Sicherheitsupdates oder sonstigem seit 2016. Die Software ist EoL. Das Opera von heute hat auch mit dem Opera vor 15 Jahren nur noch sehr wenig zu tun.
Aus einer kleinen Norwegischen Firma wurde eine tochter eines Chinesischen Konglomerats
 
  • Gefällt mir
Reaktionen: FR3DI und Der Lord
Aha... :confused_alt:

Opera-Browser nicht mehr benutzen..?

Gute Götter, was man alles beachten muß, oder auch soll, aber danke für deinen Hinweis, Mensch = Gewohnheitstier... :grr:

Micha
 
Ich hab mir jetzt einfach auf die Schnelle selber einen Mail-Client-Prototyp in Java geschrieben ...

Die 10 neusten E-Mails in einem Fenster darstellen, klappt schon mal:

1722024700950.png


Java:
import jakarta.mail.*;
import jakarta.mail.internet.MimeMultipart;
import java.util.Properties;
import java.util.Scanner;
import javax.swing.*;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.safety.Safelist;

public class Main {
  record Account(String host, int port, String user, String password, String inboxName) {}

  public static void main(String[] args) throws Exception {
    receive10(new Account(, , , , "INBOX"));
  }

  private static void receive10(Account ac) throws Exception {
    Store emailStore = null;
    Folder emailFolder = null;

    Properties properties = new Properties();
    properties.put("mail.store.protocol", "imap");
    properties.put("mail.imap.ssl.enable", "true");
    properties.put("mail.imap.host", ac.host());
    properties.put("mail.imap.port", ac.port());
    Session emailSession = Session.getInstance(properties);

    try {
      emailStore = emailSession.getStore();
      emailStore.connect(ac.user(), ac.password());
      System.out.println("Connected");

      emailFolder = emailStore.getFolder("INBOX");
      emailFolder.open(Folder.READ_ONLY);

      int c1 = emailFolder.getMessageCount();
      int c2 = 0;
      for (int i = c1; i > 0 && c2 < 10; i--, c2++) {
        System.out.println(emailFolder.getMessage(i).getSubject());
      }
      while (true) {
        System.out.println("Wich to display? (1-10 or empty to quit):");
        String line = new Scanner(System.in).nextLine();
        if (line == null || line.isBlank()) {
          break;
        }
        int i = c1 - Integer.parseInt(line) + 1;
        display1(emailFolder.getMessage(i));
      }
    } finally {
      if (emailFolder != null && emailFolder.isOpen()) {
        emailFolder.close(false);
      }
      if (emailStore != null && emailStore.isConnected()) {
        emailStore.close();
      }
      System.out.println("Disconnected");
    }
  }

  private static void display1(Message message) throws Exception {
    StringBuilder sb = new StringBuilder();
    sb.append(message.getSentDate()).append("\n\n");
    for (Address a : message.getFrom()) {
      sb.append(a.toString()).append("\n\n");
    }
    sb.append(message.getSubject()).append("\n\n");
    if (message.isMimeType("text/plain")) {
      sb.append(message.getContent().toString());
    }
    if (message.isMimeType("multipart/*")) {
      MimeMultipart mimeMultipart = (MimeMultipart) message.getContent();
      for (int i = 0; i < mimeMultipart.getCount(); i++) {
        Document document = Jsoup.parse(mimeMultipart.getBodyPart(i).getContent().toString());
        document.outputSettings(new Document.OutputSettings().prettyPrint(false));
        document.select("br").append("\\n");
        document.select("p").prepend("\\n\\n");
        String s = document.html().replaceAll("\\\\n", "\n");
        sb.append(
                Jsoup.clean(
                    s, "", Safelist.none(), new Document.OutputSettings().prettyPrint(false)))
            .append("\n\n");
      }
    }

    JFrame f = new JFrame();
    JTextArea ta = new JTextArea(sb.toString());
    ta.setLineWrap(true);
    f.getContentPane().add(new JScrollPane(ta));
    f.setSize(600, 400);
    f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    f.setVisible(true);
  }
}

gradle:
Code:
dependencies {
    // https://mvnrepository.com/artifact/com.sun.mail/jakarta.mail
    implementation 'com.sun.mail:jakarta.mail:2.0.1'
    // https://mvnrepository.com/artifact/org.jsoup/jsoup
    implementation 'org.jsoup:jsoup:1.18.1'
}

Ich werde das noch ein bisschen "schöner machen" und dann genügt es schon. :D

---

madmax2010 schrieb:
meinst du rainloop?
Jau, den meinte ich, mir fiel der Name gerad nicht ein ...
 
Zurück
Oben