Auf die Schnelle. Die Email wird nur einmal pro Besuch verschickt (es sei denn, du stehst auf Email-Spam :)), also nicht bei jedem Zugriff auf jede Seite pro Session. Sobald derjenige den Browser schließt, wird das Cookie gelöscht, und beim nächsten Aufruf deiner Seite wird erneut nur einmal eine E-Mail verschickt.
Anpassen musst du nur diese Zeile:
$notify_ips = array("xxx.xxx.xxx.xxx");
Wenn du mehrere IPs checken willst, einfach die Liste erweitern, z.B.:
$notify_ips = array("xxx.xxx.xxx.xxx", "xxx.xxx.xxx.xxx", "xxx.xxx.xxx.xxx");
Das Plugin:
<?php
/*
Plugin Name: IP Access Notification
Version: 0.7
Plugin URI: http://forum.wordpress-deutschland.org/plugins-und-widgets/34672-email-benachrichtigung-bei-bestimmter-ip-adresse.html
Description: Verschickt eine Email an den Blog-Admin, wenn ein Besucher mit der angebenen IP den Blog aufruft.
Author: Oliver Schlöbe
Author URI: http://www.schloebe.de/
*/
function os_ip_check() {
$visitor_ip = $_SERVER['REMOTE_ADDR'];
$zugriff_ort = $_SERVER['REQUEST_URI'];
$notify_ips = array("xxx.xxx.xxx.xxx"); // Welche IPs sollen gecheckt werden
if ( in_array( $visitor_ip, $notify_ips ) ) {
$absender = get_option('admin_email');
$empfaenger = get_option('admin_email');
$betreff = "Neuer Zugriff von IP " . $visitor_ip . " auf " . wp_specialchars( get_option('blogname') );
$headers = "From: " . wp_specialchars( get_option('blogname') ) . " <$absender>\n";
$headers .= "Content-Type: text/html\n";
$headers .= "Content-Transfer-Encoding: 8bit\n";
$mailtext = "Neuer Zugriff auf " . wp_specialchars( get_option('blogname') ) . " mit der IP " . $visitor_ip . " auf die Seite " . $zugriff_ort;
$sanitized_blogtitle = sanitize_title( get_option('blogname') );
if( !isset( $_COOKIE["wp_" . $sanitized_blogtitle . "_ip_access"] ) ) {
setcookie( "wp_" . $sanitized_blogtitle . "_ip_access", $visitor_ip );
mail($empfaenger, $betreff, $mailtext, $headers);
}
}
}
add_action('init', 'os_ip_check');
?>
Alles anzeigen
Im wp-content/plugins - Verzeichnis ein Verzeichnis ip-access-notification anlegen, darin eine Datei ip-access-notification.php erstellen und den obigen Code einfügen. Plugin aktivieren, fertig.