::: FORUM ManuFrog :::: felmeddelande vid PHPMAILER - ::: FORUM ManuFrog :::

Hoppa till innehåll

Sida 1 av 1
  • Du kan inte skapa ett nytt ämne
  • Du kan inte svara i detta ämne

felmeddelande vid PHPMAILER skicka "vykort" via PHPMAILER

#1 Medlemmen är offline   KiAnKo 

  • Advanced Member
  • PipPipPipPip
  • Grupp: Members
  • Inlägg: 8
  • Gick med: 20-mars 06

Postad 07 augusti 2009 - 16:19

Hej

Jag har sökt på forumet, men inte kunna få ngt...

Jag har kunds webplats där vi vill skicka email via PHPMAILER på sidan E-CARD, eftersom email ska vara i HTML (formaterad text och bilder). Vi hade detta tidigare hos CLICHE innan vi flyttade domänen till MANUFROG. En besökare ska kunna skicka ett "vykort" med sig själv som avsändare och kompisen som mottagare.

Nu har jag ändrat så att PHP.INI så att jag kan läsa in själva texten för emailet och sedan ersätta vissa delar med unika texter för varje email (dvs FOPEN).

Hur ska jag ställa in för att kunna använda MANUFROGs server som SMTP? Får man skicka email på detta sätt?

Jag har skapat ett speciellt emailkonto för detta ändamål (ecard@mindomän.com). Nu får jag felmeddelande när jag försöker att skicka email (från sender@test.com till receiver@test.com) och dessa visas på websidan:

sender@test.comreceiver@test.com
Warning: fsockopen() [function.fsockopen]: unable to connect to mail.mindomän.com:25 (Connection timed out) in /home/mittkonto/public_html/phpinclude/class.smtp.php on line 105
Message was not sent
Mailer Error: Language string failed to load: connect_host


(Koden visas nederst i mitt inlägg)

Vad kan felet vara? Går det att göra på detta sätt överhuvudtaget eller är det spärrat? Är jag på rätt väg?

php.ini finns på roten (www.mindomän.com) och i www.mindomän.com/web/e-card/
PHPMAILER finns inlagt på www.mindomän.com/include/

På SUPPORTSIDAN står bland annat:

(Våra servrar har även port 26 öppen för utgående e-post (smtp).)

Adresserna till ManuFrog Webbhotell är:
SMTP-server: mail.dindomän.com (ändras till tex. ”smtp.bredband.net” om du har bredband från dom – eller testa med port 26)
POP3-server: mail.dindomän.com

Användarnamnet på de e-post konton Du skapar, tex. olle@dindomän.com, blir alltid i formen olle@dindomän.com eller olle+dindomän.com. Det är alltså det Du ska fylla i som användarnamn i Din e-postklient. Obs! För att kunna skicka e-post måste autentisering användas!

SSL är installerat på servern, vilket gör att man även kan logga in med säker anslutning. För pop3 (inkommande) används port 995 och för SMTP (utgående) används port 465. Tänk på att om Du vill kunna skicka epost med SSL måste Du byta ut ”mail.mindomän.se” till serverns namn där Ditt konto/domän finns på – tex. ”manu1.manufrog.com”. Maila oss om Du är osäker på detta så hjälper vi Dig.


Om jag förstår det rätt så använder PHPMAILER sig av SENDMAIL och i inställningsfilerna pekas sökvägen ut korrekt "/usr/sbin/sendmail" eller ska jag ha "/usr/sbin/sendmail -t -i" (rad 115 i phpmailer.php)

Nedan i min kod används:
$mail->SMTPAuth = false;
vilket borde nog borde ändras - eller? Men hur får jag användarnamn, lösenord och emailadressen?

Koden jag använder är:

$INCLUDE_DIR = "/home/mittkonto/public_html/phpinclude/";
require($INCLUDE_DIR."class.phpmailer.php");
$mail = new PHPMailer();

$toAddress = 	$_GET['toAddress'];
$message = 		$_GET['message'];
$fromAddress = 	$_GET['fromAddress'];
$ecard_pic = 	$_GET['ecard_pic'];
$fromName =		$_GET['fromName'];
$file = 		"mail.txt";
$eCardSubject = $fromName." has sent You a postcard from mindomän.com";
$copySubject = 	"Copy of e-card You sent to: ".$toAddress;

$fh = fopen($file, 'r');
$theData = fread($fh, filesize($file));
fclose($fh);
print($fromAddress);
$theData = str_replace("<#FROM_NAME#>", $fromName, $theData);
$theData = str_replace("<#TO_ADDRESS#>", $toAddress, $theData);
$theData = str_replace("<#MESSAGE#>",  $message, $theData);
$theData = str_replace("<#FROM_ADDRESS#>",$fromAddress, $theData);
$theData = str_replace("<#ECARD_PIC#>",$ecard_pic, $theData);
// ---------------------------------------------------
$mail->IsSMTP();					// send via SMTP
$mail->Host	 = "mail.mindomän.com";	// SMTP servers
$mail->SMTPAuth = false;				// borde nog ändras...

$mail->From	 = $fromAddress;
$mail->FromName = $fromName;
$mail->AddAddress($toAddress); 

$mail->IsHTML(true);				   // send as HTML

$mail->Subject  =  $eCardSubject;
$mail->Body	 =  $theData;
echo $toAddress;

if(!$mail->Send()) {
   echo "Message was not sent <p>";
   echo "Mailer Error: " . $mail->ErrorInfo;
   exit;
}

header("Location: http://" . $_SERVER['HTTP_HOST'] . "thanks.htm");



Jag har själv andra formulär på min egen domän som använder SENDMAIL där motsvarande fungerar (dvs avsändare och mottagare är inte inom domänen minprivatadomän.com) men där får jag emailen som TEXT och inte som HTML. Jag misstänker att jag måste lägga till lite, men har itne testat detta ännu.

// K

Bifogad fil(er)


0

#2 Medlemmen är offline   Erik 

  • Administrator
  • PipPipPipPipPipPip
  • Grupp: Admin
  • Inlägg: 7 585
  • Gick med: 13-juli 03

Postad 08 augusti 2009 - 00:48

Visa inläggKiAnKo på 7 August, 2009, 17:19 sade:

Hej

Jag har sökt på forumet, men inte kunna få ngt...

Jag har kunds webplats där vi vill skicka email via PHPMAILER på sidan E-CARD, eftersom email ska vara i HTML (formaterad text och bilder). Vi hade detta tidigare hos CLICHE innan vi flyttade domänen till MANUFROG. En besökare ska kunna skicka ett "vykort" med sig själv som avsändare och kompisen som mottagare.

Nu har jag ändrat så att PHP.INI så att jag kan läsa in själva texten för emailet och sedan ersätta vissa delar med unika texter för varje email (dvs FOPEN).

Hur ska jag ställa in för att kunna använda MANUFROGs server som SMTP? Får man skicka email på detta sätt?

Jag har skapat ett speciellt emailkonto för detta ändamål (ecard@mindomän.com). Nu får jag felmeddelande när jag försöker att skicka email (från sender@test.com till receiver@test.com) och dessa visas på websidan:

sender@test.comreceiver@test.com
Warning: fsockopen() [function.fsockopen]: unable to connect to mail.mindomän.com:25 (Connection timed out) in /home/mittkonto/public_html/phpinclude/class.smtp.php on line 105
Message was not sent
Mailer Error: Language string failed to load: connect_host


(Koden visas nederst i mitt inlägg)

Vad kan felet vara? Går det att göra på detta sätt överhuvudtaget eller är det spärrat? Är jag på rätt väg?

php.ini finns på roten (www.mindomän.com) och i www.mindomän.com/web/e-card/
PHPMAILER finns inlagt på www.mindomän.com/include/

På SUPPORTSIDAN står bland annat:

(Våra servrar har även port 26 öppen för utgående e-post (smtp).)

Adresserna till ManuFrog Webbhotell är:
SMTP-server: mail.dindomän.com (ändras till tex. ”smtp.bredband.net” om du har bredband från dom – eller testa med port 26)
POP3-server: mail.dindomän.com

Användarnamnet på de e-post konton Du skapar, tex. olle@dindomän.com, blir alltid i formen olle@dindomän.com eller olle+dindomän.com. Det är alltså det Du ska fylla i som användarnamn i Din e-postklient. Obs! För att kunna skicka e-post måste autentisering användas!

SSL är installerat på servern, vilket gör att man även kan logga in med säker anslutning. För pop3 (inkommande) används port 995 och för SMTP (utgående) används port 465. Tänk på att om Du vill kunna skicka epost med SSL måste Du byta ut ”mail.mindomän.se” till serverns namn där Ditt konto/domän finns på – tex. ”manu1.manufrog.com”. Maila oss om Du är osäker på detta så hjälper vi Dig.


Om jag förstår det rätt så använder PHPMAILER sig av SENDMAIL och i inställningsfilerna pekas sökvägen ut korrekt "/usr/sbin/sendmail" eller ska jag ha "/usr/sbin/sendmail -t -i" (rad 115 i phpmailer.php)

Nedan i min kod används:
$mail->SMTPAuth = false;
vilket borde nog borde ändras - eller? Men hur får jag användarnamn, lösenord och emailadressen?

Koden jag använder är:

$INCLUDE_DIR = "/home/mittkonto/public_html/phpinclude/";
require($INCLUDE_DIR."class.phpmailer.php");
$mail = new PHPMailer();

$toAddress = 	$_GET['toAddress'];
$message = 		$_GET['message'];
$fromAddress = 	$_GET['fromAddress'];
$ecard_pic = 	$_GET['ecard_pic'];
$fromName =		$_GET['fromName'];
$file = 		"mail.txt";
$eCardSubject = $fromName." has sent You a postcard from mindomän.com";
$copySubject = 	"Copy of e-card You sent to: ".$toAddress;

$fh = fopen($file, 'r');
$theData = fread($fh, filesize($file));
fclose($fh);
print($fromAddress);
$theData = str_replace("<#FROM_NAME#>", $fromName, $theData);
$theData = str_replace("<#TO_ADDRESS#>", $toAddress, $theData);
$theData = str_replace("<#MESSAGE#>",  $message, $theData);
$theData = str_replace("<#FROM_ADDRESS#>",$fromAddress, $theData);
$theData = str_replace("<#ECARD_PIC#>",$ecard_pic, $theData);
// ---------------------------------------------------
$mail->IsSMTP();					// send via SMTP
$mail->Host	 = "mail.mindomän.com";	// SMTP servers
$mail->SMTPAuth = false;				// borde nog ändras...

$mail->From	 = $fromAddress;
$mail->FromName = $fromName;
$mail->AddAddress($toAddress); 

$mail->IsHTML(true);				   // send as HTML

$mail->Subject  =  $eCardSubject;
$mail->Body	 =  $theData;
echo $toAddress;

if(!$mail->Send()) {
   echo "Message was not sent <p>";
   echo "Mailer Error: " . $mail->ErrorInfo;
   exit;
}

header("Location: http://" . $_SERVER['HTTP_HOST'] . "thanks.htm");



Jag har själv andra formulär på min egen domän som använder SENDMAIL där motsvarande fungerar (dvs avsändare och mottagare är inte inom domänen minprivatadomän.com) men där får jag emailen som TEXT och inte som HTML. Jag misstänker att jag måste lägga till lite, men har itne testat detta ännu.

// K



Hej! Har Du testat det jag skrev om i mitt svar till Dig tidigare idag om denna fråga?
::: Have great day! //Erik at psychofrog.se and Webbhotell ManuFrog :::
0

#3 Medlemmen är offline   KiAnKo 

  • Advanced Member
  • PipPipPipPip
  • Grupp: Members
  • Inlägg: 8
  • Gick med: 20-mars 06

Postad 08 augusti 2009 - 02:12

några av problemen ovan berodde på att port 25 isf 26 användes för SMTP... (i min fil "sendmail.php" men även i PHPMAILER-filerna.

men ett stort problem är bara att det bara fungerar att skicka till emailadresser till tillhör domänen. Alla andra domäner så fungerar inte...

Jag har provat att ändra till SMTP-autentiseringen till "$mail->SMTPAuth = true;" samt lagt till USERNAME och PASSWORD, men samma resultat...

Funktionen är ju att andra ska få email...

Dessutom fungerar inte raden


Warning: Cannot modify header information - headers already sent by (output started at /home/mindomän/public_html/sendmail_ecard.php:39)
in /home/mindomän/public_html/sendmail_ecard.php on line 48

0

#4 Medlemmen är offline   KiAnKo 

  • Advanced Member
  • PipPipPipPip
  • Grupp: Members
  • Inlägg: 8
  • Gick med: 20-mars 06

Postad 09 augusti 2009 - 00:04

Visa inläggErik på 8 August, 2009, 01:48 sade:

Visa inläggKiAnKo på 7 August, 2009, 17:19 sade:

...

Hej! Har Du testat det jag skrev om i mitt svar till Dig tidigare idag om denna fråga?

  • jag har ändrat från port 25 till 26 på några ställen (i min SENDMAIL.PHP-fil samt i de två PHPMAILER-filerna)
  • samt ändrat från SMTPAUTH=TRUE i PHPMAILER (samt lagt till användarnamn & lösenord).


Det fungerar nu att skicka men bara om mottagaren är en emailadress som tillhör denna domän.

Hur gör man för att skicka till andra som inte tillhör den aktuella domänen? Det fungera från min egen domän där jag bara använder
mail($MailReceiver , $MailSubject , $MailMessage , $MailHeaders);

och där fungerar även
header( "Location: http://www.minprivatadomän.com/feedback/thankyou.php" );

dvs sidan man ska hamna på när emailet har skickats...

Jag har tänkt att lägga till en funktion så att alla vykortsemail som skickas ska även sparas i en MYSQL-databas för analys...

Vårt mål är att man ska kunna skicka email (som liknar vykort) via en funktion som påminner om "Tipsa en kompis". Det är alltså läsarna sjävla som skriver in sina egan emailadresser och mottagarnas emailadresser. Därfår måste det vara i HTML format då bilderna hämas från offentlig mapp
0

#5 Medlemmen är offline   Erik 

  • Administrator
  • PipPipPipPipPipPip
  • Grupp: Admin
  • Inlägg: 7 585
  • Gick med: 13-juli 03

Postad 09 augusti 2009 - 01:03

Eftersom Du får detta att fungera på den ena servern hos oss, men inte den andra hos oss har vi nu börjat att jämföra de båda servrarnas inställningar.
De skiljer sig inte åt i form av säkerhetssinställningar, men den ena använder apache 1,xxx och den andra apache 2,xxx.

Vi återkommer med svar i det ärende Du öppnat för detta och även här i forumet så snart vi kan.

NYTT:

Jag hittade en inställning som var fel på servern där det inte fungerar för Dig. Jag ber Dig testa nu igen.

Detta inlägg har redigerats av Erik: 09 augusti 2009 - 09:43

::: Have great day! //Erik at psychofrog.se and Webbhotell ManuFrog :::
0

#6 Medlemmen är offline   KiAnKo 

  • Advanced Member
  • PipPipPipPip
  • Grupp: Members
  • Inlägg: 8
  • Gick med: 20-mars 06

Postad 09 augusti 2009 - 23:20

Nu fungerar vidareskickning till TACK-sidan... men fortfarande kan mottagaren bara vara en emailadress inom samma domän.
0

Dela med dig av detta ämne:


Sida 1 av 1
  • Du kan inte skapa ett nytt ämne
  • Du kan inte svara i detta ämne


2 användare läser detta ämne
0 medlemmar, 2 gäster, 0 anonyma medlemmar