Überprüfen Sie den MX-Eintrag der E-Mail-Adresse mit Java und die Domain

Wenn Sie E-Mails im WEB annehmen Ich denke, dass viele Spam-Mails gemischt mit den richtigen Mails fliegen werden.

Auch wenn Sie versuchen, auf die E-Mail "Empfang abgeschlossen!" Zu antworten, nachdem Sie die E-Mail akzeptiert haben Wenn Sie ein Spam-Partner sind Es gibt keine solche Adresse! Jeden Tag sehe ich einen Haufen Fehler zurück ... Kann das nicht gemacht werden? !!

Da der Teil vor dem @ -Zeichen in der E-Mail-Adresse dem Benutzer entspricht Ich weiß es nicht, bis ich es sende

wenigstens Lassen Sie uns überprüfen, ob der Teil hinter der @ -Marke eine Domain ist, die wirklich existiert!

Es ist lange her und es fühlt sich an, als wäre es mit Java gebaut worden.

Es gibt keine besondere Erklärung.

import java.util.Hashtable;

import javax.naming.NamingException;
import javax.naming.directory.Attribute;
import javax.naming.directory.Attributes;
import javax.naming.directory.DirContext;
import javax.naming.directory.InitialDirContext;

public class MXLookup {
	public static void main(String[] args) {
		exec("yahoo.jp");
		exec("yahoo.co.jp");
		exec("126.com");
		exec("127.com");
	}
	private static void exec(String hostname) {
		System.out.println( hostname + " : " + doLookup( hostname ) + "" );
	}
	private static String doLookup( String hostName ) {
		try {
			Hashtable<String,String> env = new Hashtable<String,String>();
			env.put("java.naming.factory.initial", "com.sun.jndi.dns.DnsContextFactory");
			DirContext ictx = new InitialDirContext( env );
			Attributes attrs = ictx.getAttributes( hostName, new String[] { "MX" });
			Attribute attr = attrs.get( "MX" );
			if( attr == null ){
				return null;
			}
			StringBuilder sb = new StringBuilder();
			for(int i=0;i<attr.size();i++){
				if(sb.length() > 0){
					sb.append(", ");
				}
				sb.append(attr.get(i));
			}
			return sb.toString();
		} catch (NamingException e) {
			return null;
		}
	}

}

Übrigens das erstellte System Eingehende E-Mails an die Shell essen Dieses Java wird von der Shell aufgerufen, die beim Empfang der E-Mail ausgelöst wird Es ist wie das Filtern von E-Mail-Absendern.

das ist alles Als Referenz.

Recommended Posts

Überprüfen Sie den MX-Eintrag der E-Mail-Adresse mit Java und die Domain
Überprüfen Sie das Verhalten von Java Intrinsic Locks mit bpftrace
Überprüfen Sie den Inhalt des Java-Zertifikatspeichers
Überprüfen Sie den Inhalt der Parameter mit pry
Anmerkung: [Java] Überprüfen Sie den Inhalt des Verzeichnisses
Überprüfen Sie die Eindeutigkeit Ihrer E-Mail-Adresse
[Java] Überprüfen Sie die Anzahl der Zeichen
Schreiben Sie ABNF in Java und geben Sie die E-Mail-Adresse weiter
CI die Architektur von Java / Kotlin-Anwendungen mit ArchUnit
[Java] Überprüfen Sie die JDK-Version der erstellten Kriegsdatei
Überwachen Sie den internen Status von Java-Programmen mit Kubernetes
Überprüfen Sie das Ergebnis der generischen Parameterinferenz mit JShell
Die Geschichte von dto, dao-like mit Java, SQLite
Ersetzen Sie nur einen Teil des URL-Hosts durch Java
Suchen Sie die Adressklasse und den Adresstyp aus der IP-Adresse mit Java
Befehl zum Überprüfen der Anzahl und des Status von Java-Threads
Überprüfen Sie die Funktion von zwei Rollen mit einer Chat-Anwendung
Überprüfen Sie den Status der Java-Anwendung, ohne das Überwachungstool zu verwenden
Die Falle, die die Standardimplementierung der Java 8-Schnittstelle mit sich bringt
[Java] Überprüfen Sie den Unterschied zwischen orElse und orElseGet mit IntStream
Zusammenfassung der von der Spliterator-Merkmalsmethode #java zurückgegebenen Werte
Stellen Sie sicher, dass Sie das Java compareTo-Ergebnis mit 0 vergleichen
Stellen Sie die Sensorinformationen von Raspberry Pi in Java grafisch dar und überprüfen Sie sie mit einem Webbrowser
Wechseln Sie die von SDKMAN installierte Java-Version, wenn Sie Verzeichnisse verschieben
Die Geschichte, das Verhalten von String durch Passieren von Java nicht zu kennen
Probieren Sie HelloWorld mit der Mindestkonfiguration von Heroku Java Spring-Boot aus
Ich habe versucht, den Betrieb des gRPC-Servers mit grpcurl zu überprüfen
Der Suchtpunkt bei der Durchführung der Basisauthentifizierung mit Java URLConnection
[Java] Angemessene Einführung durch Tenpa-Leute Java Teil 0 (Code-Regeln)
Verarbeiten Sie die vom menschlichen Sensor HC-SR501 erkannte Bewegung mit Raspberry Pi 3 & Java
Überschreiben Sie den gleichnamigen Upload mit dem BOX SDK (Java).
So überprüfen Sie den Inhalt der Java-Zeichenfolge mit fester Länge
Ist die von Ihnen verwendete Version von Elasticsearch mit Java 11 kompatibel?
Durch die Überprüfung der Funktionsweise von Java unter Linux konnte ich die Kompilierung und Hierarchie verstehen.