Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Funkcja mail() przez sendmail.exe
Forum PHP.pl > Forum > PHP
ReBeLs513
Cześć!
Od kilku godzin próbuję zrobić tak, aby maile ze strony były wysyłane z adresu mail pobieranego z pola formularza "email". Ale.. Nie ważne jaki byłby to mail, dostaję wiadomości zawsze od mojego maila, przez któego działa sendmail.exe
Próbowałem robić header "from: nazwa <mail@mail.ml>" ale w mailu widziałem już od: "nazwa <mojmail@gmail.com>"
Zdąrzyłeem wyczytać, że program sendmail trzeba skonfigurować na trustusers ale kompletnie nie wiem, o co chodzi :\
markuz
Nie możesz wysyłać wiadomości podając dowolny adres email jako nadawce.
ReBeLs513
Maila moge wyslac, wszystko dziala ale problem w headers from

  1. $headers = 'From: webmaster@example.com' . "\r\n" .
  2. 'Reply-To: webmaster@example.com' . "\r\n" .
  3. 'X-Mailer: PHP/' . phpversion();

Ja w swojej skrzynce mailowej zamiast webmaster@example.com widzę swoj adres mailowy, ktory uzyty jest do polaczenia z serwerem smtp :/
a chciałbym, aby w polu "od" był adres mail osoby wysyłającej formularz z mojej www.
podobno trzeba to ustawic w konfiguracji sendmail...

Dodam jeszcze, ze jak nadawcą bedzie "jakisuzytkownikgmaila@gmail.com", to header jest przesylane bez problemu. Tylko, aby to zadziałało, mail musi być w domenie @gmail.com :/
LowiczakPL
Pokaż jaki masz skrypt do wysyłania poczty może na sztywno masz tam ustawiony swój e-mail jako sender wink.gif
ReBeLs513
  1. <?php
  2. $to = 'mojmail@gmail.com';
  3. $subject = 'the subject';
  4. $message = 'hello';
  5. $headers = 'From: info@example.com' . "\r\n" .
  6. 'Reply-To: info@example.com' . "\r\n" .
  7. 'X-Mailer: PHP/' . phpversion();
  8.  
  9. mail($to, $subject, $message, $headers);
  10. ?>


I konfiguracja sendmail:

Kod
; configuration for fake sendmail

; if this file doesn't exist, sendmail.exe will look for the settings in
; the registry, under HKLM\Software\Sendmail

[sendmail]

; you must change mail.mydomain.com to your smtp server,
; or to IIS's "pickup" directory.  (generally C:\Inetpub\mailroot\Pickup)
; emails delivered via IIS's pickup directory cause sendmail to
; run quicker, but you won't get error messages back to the calling
; application.

smtp_server=smtp.gmail.com

; smtp port (normally 25)

smtp_port=587

; SMTPS (SSL) support
;   auto = use SSL for port 465, otherwise try to use TLS
;   ssl  = alway use SSL
;   tls  = always use TLS
;   none = never try to use SSL

smtp_ssl=auto

; the default domain for this server will be read from the registry
; this will be appended to email addresses when one isn't provided
; if you want to override the value in the registry, uncomment and modify

;default_domain=mydomain.com

; log smtp errors to error.log (defaults to same directory as sendmail.exe)
; uncomment to enable logging

error_logfile=log/error.log

; create debug log as debug.log (defaults to same directory as sendmail.exe)
; uncomment to enable debugging

;debug_logfile=debug.log

; if your smtp server requires authentication, modify the following two lines

auth_username=mojmail@gmail.com
auth_password=mojehaslo

; if your smtp server uses pop3 before smtp authentication, modify the
; following three lines.  do not enable unless it is required.

pop3_server=
pop3_username=
pop3_password=

; force the sender to always be the following email address
; this will only affect the "MAIL FROM" command, it won't modify
; the "From: " header of the message content

force_sender=

; force the sender to always be the following email address
; this will only affect the "RCTP TO" command, it won't modify
; the "To: " header of the message content

force_recipient=

; sendmail will use your hostname and your default_domain in the ehlo/helo
; smtp greeting.  you can manually set the ehlo/helo name if required

hostname=


LowiczakPL


mail($to, $subject, $message, $headers, '-f info@example.com'');
ReBeLs513
"Parse error: syntax error, unexpected end of file, expecting variable (T_VARIABLE) or ${ (T_DOLLAR_OPEN_CURLY_BRACES) or {$ (T_CURLY_OPEN) in C:"

próbowałem to zmieniać ale po probie wysłania parametr "-f" nie robił nic.. maile w dalszym ciągu przychodzą z moejgo konta.
LowiczakPL
sprawdź bez spacji -fmail@mail.pl

Czy nie masz czasami przekierowania zrobionego dla tego emaila?
ReBeLs513
przekierowanie mam z innego konta gmail na to, z ktorego wysylam wlasnie maile.. ps bez spacji tez nie pomoglo
franki01
Cytat(LowiczakPL @ 27.06.2016, 10:26:19 ) *
mail($to, $subject, $message, $headers, '-f info@example.com'');



Cytat(ReBeLs513 @ 28.06.2016, 22:12:44 ) *
"Parse error: syntax error, unexpected end of file, expecting variable (T_VARIABLE) or ${ (T_DOLLAR_OPEN_CURLY_BRACES) or {$ (T_CURLY_OPEN) in C:"

próbowałem to zmieniać ale po probie wysłania parametr "-f" nie robił nic.. maile w dalszym ciągu przychodzą z moejgo konta.


Ten błąd wyskakuje przez błędne apostrofy - po .com są dwa.

Co do samego problemu. Funkcja mail() bardzo często lubi płatać figle. Starajmy się z niej nie korzystać. Lepiej już nawet używać klasy PHPMailer (trzeba wygoglować i ściągnąć) i wysyłać emaile przez SMTP odpowiednio konfigurując klasę.

EDYCJA: A i jeszcze jedno. Może nagłówek Reply-to pomoże?
ReBeLs513
tak, mam reply to. i w mailu to pole zostaje dodane poprawne.

PS Na jednym z hostingów przez funkcję mail() wysyłało mi nagłówek "from", więc raczej problem jest w konfiguracji na moim localhoście..
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.