Moin Freunde habe Folgendes maleur...
Seit ich dem ich auf Ubuntu 16 umgestiegen bin dachte ich geh mit der Zeit und verabschiede dich von xmail und steig auf Postfix um .
Auf dem Server läuft nginx php7 MySQL Postfix
Und meine private hp mail Versand läuft ähnlich wie beim Tracker Über eine php
Soweit laüft der mail Versand auch nur Web.de und GMX nehmen meine Mails nicht an.
Url ist bei noip und die verlangen wenn ich das richtig gesehen habe Kohle für den dns Eintrag ..
Log sagt 554-No SMTP service 554-Bad DNS PTR resource record
Jetzt Frage bin ich mit der dns kake überhaupt auf dem richtigen Weg und wo zum Geier liegt der Fehler.
Bitte seit gnädig mit mir...:eek:
Miata3de
20.05.2017, 13:03
Auch wenn es deine frage nicht beantworten sollte..
Eben weil sich web.de und gmx so anstellen benutze ich für den Mailversand exim4 in verbindung mit einem gmail-postfach als eigentlichen versender.
Exim4 baut also lediglich eine relais-verbindung zu gmail auf und gmail versendet dann die mails, damit kommen die mails überall an.
Wir nutzen smtp in verbindung mit GMX. Funzt wunderbar
Ev. kannst damit was anfangen.
In die BT ziehmlich oben dies rein:
function sendmail($email,$header,$msg)
{
// initiate smtp object
$mail = new smtp;
// connect to smtp server, write your isp smtp url here the random port is 25
$mail->open('mail.gmx.de', 25);
// Write your auth stuff here if nott add // before
$mail->auth('Trackertag', 'passwort');
// Write your email address here t ex noreply@gmail.com
$mail->from('HierkommtdeineGMX Mail addy rein (rein@gmx.de)');
$mail->to("$email");
$mail->subject("$header");
// E-Mail TExt
$mail->body("$msg");
$mail->send();
$mail->close();
} Funzt 1a bei uns.
Nutz ihr Postfix als SMTP?
Nein, sendmail
Hier noch die smtp.lib.php ( includieren in die bt )
<?php
/**
* Allows users to send email without e-mailserver on the localmachine
* @package SMTP
* @author Fredrik Haugbergsmyr <smtp.lib@lagnut.net>
*/
require_once 'net.const.php';
/**
* @version 0.0.2.2
* @access public
* @todo split messages, attachments
*/
class smtp
{
/**
* lagnut-smtp version, send in the headers
*
* @var string
* @access private
*/
var $_version = '0.0.2.2';
/**
* Turn debugon / off
*
* @var bool
* @access private
*/
var $_debug = false;
/**
* Serverconnection resource
*
* @var resource
* @access private
*/
var $_connection = null;
/**
* E-mailheaders
*
* @var array headers
* @access private
*/
var $_hdrs = array();
/**
* E-mailbody
*
* @var string
* @access private
*/
var $_body = '';
/**
* Default Content type
*
* @var string
* @access private
*/
var $_mime = 'text/plain';
/**
* Default Charset
*
* @var string
* @access private
*/
var $_charset = 'UTF-8';
/**
* Class contruction, sets client headers
*
* @access public
*/
function smtp()
{
$this->_add_hdr('X-Mailer', sprintf('LAGNUT-SMTP/%s', $this->_version));
$this->_add_hdr('User-Agent', sprintf('LAGNUT-SMTP/%s', $this->_version));
$this->_add_hdr('MIME-Version', '1.0');
}
/**
* Turn debugging on/off
*
* @access public
* @param bool $debug command
*/
function debug($debug)
{
$this->_debug = (bool)$debug;
}
/**
* Clean input to prevent injection
*
* @param string $input User data
*/
function _clean(&$input)
{
if (!is_string($input)) {
return false;
}
$input = urldecode($input);
$input = str_replace("\n", '', str_replace("\r", '', $input));
}
/**
* Send command to server
*
* @access private
* @param string $cmdcommand
* @param optional $data data
*/
function _cmd($cmd, $data = false)
{
$this->_clean($cmd);
$this->_clean($data);
if ($this->_is_closed()) {
return false;
}
if (!$data) {
$command = sprintf("%s\r\n", $cmd);
}else {
$command = sprintf("%s: %s\r\n", $cmd,$data);
}
fwrite($this->_connection, $command);
$resp = $this->_read();
if ($this->_debug){
printf($command);
printf($resp);
}
if ($this->_is_closed($resp)) {
return false;
}
return $resp;
}
/**
* Collects header
*
* @access private
* @param string$key
* @param string $data
*/
function _add_hdr($key, $data)
{
$this->_clean($key);
$this->_clean($data);
$this->_hdrs[$key] = sprintf("%s: %s\r\n", $key, $data);
}
/**
* Read server output
*
* @access private
* @return string
*/
function _read()
{
if ($this->_is_closed()) {
return false;
}
$o = '';
do {
$str = @fgets($this->_connection, 515);
if (!$str) {
break;
}
$o .= $str;
if (substr($str, 3, 1) == ' ') {
break;
}
} while (true);
return $o;
}
/**
* Checks if server denies more commands
*
* @access private
* @param $int
* @return bool true if connection is closed
*/
function _is_closed($response = false)
{
if (!$this->_connection) {
return true;
}
if (isset($response{0}) && ($response{0} == 4|| $response{0}== 5)) {
$this->close();
return true;
}
return false;
}
/**
* Open connection to server
*
* @access public
* @param string $server SMTP server
* @param int $port Server port
*/
function open($server, $port = 25)
{
$this->_connection = fsockopen($server, $port, $e, $er, 8);
if ($this->_is_closed()) {
return false;
}
$init= $this->_read();
if ($this->_debug){
printf($init);
}
if ($this->_is_closed($init)) {
return false;
}
$lhost = (isset($_SERVER['SERVER_ADDR']) ? $_SERVER['SERVER_ADDR'] : '127.0.0.1');
if (strpos($init,'ESMTP') === false){
$this->_cmd('HELO '. gethostbyaddr($lhost));
} else {
$this->_cmd('EHLO '. gethostbyaddr($lhost));
}
}
/**
* Start TLS communication
*
* @access public
*/
function start_tls()
{
if (!function_exists('stream_socket_enable_crypto')) {
trigger_error('TLS is not supported', E_USER_ERROR);
return false;
}
$this->_cmd('STARTTLS');
stream_socket_enable_crypto($this->_connection, true, STREAM_CRYPTO_METHOD_TLS_CLIENT);
}
/**
* Performs SMTP authentication
*
* @access public
* @param string $username username
* @param string $password password
* @param int authentication mecanism
*/
function auth($username, $password, $type = LOGIN)
{
include_once 'sasl.lib.php';
$sasl =& new sasl($sasl, $username, $password);
switch ($type) {
case PLAIN:
$this->_cmd('AUTH PLAIN');
$this->_cmd($sasl->plain($username, $password));
break;
case LOGIN:
$this->_cmd('AUTH LOGIN');
$this->_cmd($sasl->login($username));
$this->_cmd($sasl->login($password));
break;
case CRAM_MD5:
$resp = explode(' ', $this->_cmd('AUTH CRAM-MD5'));
$this->_cmd($sasl->cram_md5($username, $password, trim($resp[1])));
break;
}
}
/**
* Closes connection to the server
*
* @access public
*/
function close()
{
if ($this->_is_closed()) {
return false;
}
$this->_cmd('RSET');
$this->_cmd('QUIT');
fclose($this->_connection);
$this->_connection = null;
}
/**
* E-mail sender
*
* @access public
* @param string $from Sender
*/
function from($email, $name = '')
{
$from = !empty($name) ? sprintf('%s <%s>', $name, $email) : $email;
$this->_cmd('MAIL FROM', sprintf('<%s>', $email));
$this->_add_hdr('FROM', $from);
$this->_add_hdr('Return-path', $email);
}
/**
* Send reply-to header
*
* @param string $to
*/
function reply_to($email, $name = '')
{
$to = !empty($name) ? sprintf('%s <%s>', $name, $email) : $email;
$this->_add_hdr('REPLY-TO', $to);
}
/**
* E-mail reciever
*
* @access public
* @param string $to Reciever
*/
function to($email, $name = '')
{
$to = !empty($name) ? sprintf('%s <%s>', $name, $email) : $email;
$this->_cmd('RCPT TO', sprintf('<%s>', $email));
$this->_add_hdr('TO', $to);
}
/**
* MIME type
*
* @access public
* @param string $mime MIME type
*/
function mime_charset($mime,$charset)
{
$this->_charset = $charset;
$this->_mime = $mime;
$this->_add_hdr('Content-type', sprintf('%s; charset=%s', $mime, $charset));
}
/**
* E-mail subject
*
* @access public
* @param string $subject subject
*/
function subject($subject)
{
$this->_clean($subject);
$this->_add_hdr('SUBJECT', $this->encode_hdrs($subject));
}
/**
* E-mail body
*
* @access public
* @param string $body body
*/
function body($body)
{
$body = preg_replace("/([\n|\r])\.([\n|\r])/", "$1..$2", $body);
$this->_body = sprintf("\r\n%s", $body);
}
/**
* Send the mail
*
* @access public
*/
function send()
{
$resp = $this->_cmd('DATA');
if ($this->_is_closed($resp)) {
$this->close();
return false;
}
foreach ($this->_hdrs as $header) {
fwrite($this->_connection, $header);
if ($this->_debug) {
printf($header);
}
}
fwrite($this->_connection,$this->_body);
fwrite($this->_connection, "\r\n.\r\n");
$resp = trim($this->_read());
if ($this->_debug){
printf("%s\r\n", $this->_body);
printf("\r\n.\r\n");
printf('%s', $resp);
}
if ((int)$resp{0} != 2) {
return false;
} else {
return true;
}
}
/**
* encode headers
*
* @access private
* @param string $input
* @return string
*/
function encode_hdrs($input)
{
$replacement = preg_replace('/([\x80-\xFF])/e', '"=" . strtoupper(dechex(ord("\1")))', $input);
$input = str_replace($input, sprintf('=?%s?Q?%s?=', $this->_charset, $replacement), $input);
return $input;
}
}
?>und die net.const.php
<?php
$mechs = array('LOGIN', 'PLAIN', 'CRAM_MD5');
foreach ($mechs as $mech) {
if (!defined($mech)) {
define($mech, $mech);
} elseif (constant($mech) != $mech) {
trigger_error(sprintf("Constant %s already defined, can't proceed", $mech), E_USER_ERROR);
}
}
?>beide dateien in den include ordner
Ok thx wer ich nach gleich mal hochschieben
sry für die späte antwort war unterwegs...
habs mal eingebaut irgendwie will es noch nicht ganz teste noch etwas rum gebe dann bescheid..
beim zweiten anlauf hat es nun geklappt hab jetzt postfix in verbindung mit gmx am laufen ...
läuft 1 a thx hier kann geschlossen werden
gotthummer
11.06.2017, 22:21
ok dann mach ich zu
http://www.netvision-technik.de/forum/user_pics/20-1207954727.gif
vBulletin® v3.8.9, Copyright ©2000-2024, vBulletin Solutions, Inc.