Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Funkcja mail() przez sendmail.exe
ReBeLs513
post
Post #1





Grupa: Zarejestrowani
Postów: 233
Pomógł: 0
Dołączył: 14.03.2010
Skąd: Dessau

Ostrzeżenie: (0%)
-----


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 :\
Go to the top of the page
+Quote Post
markuz
post
Post #2





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

Ostrzeżenie: (0%)
-----


Nie możesz wysyłać wiadomości podając dowolny adres email jako nadawce.
Go to the top of the page
+Quote Post
ReBeLs513
post
Post #3





Grupa: Zarejestrowani
Postów: 233
Pomógł: 0
Dołączył: 14.03.2010
Skąd: Dessau

Ostrzeżenie: (0%)
-----


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 :/

Ten post edytował ReBeLs513 25.06.2016, 16:56:12
Go to the top of the page
+Quote Post
LowiczakPL
post
Post #4





Grupa: Zarejestrowani
Postów: 531
Pomógł: 55
Dołączył: 3.01.2016
Skąd: Łowicz

Ostrzeżenie: (0%)
-----


Pokaż jaki masz skrypt do wysyłania poczty może na sztywno masz tam ustawiony swój e-mail jako sender (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
ReBeLs513
post
Post #5





Grupa: Zarejestrowani
Postów: 233
Pomógł: 0
Dołączył: 14.03.2010
Skąd: Dessau

Ostrzeżenie: (0%)
-----


  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=


Go to the top of the page
+Quote Post
LowiczakPL
post
Post #6





Grupa: Zarejestrowani
Postów: 531
Pomógł: 55
Dołączył: 3.01.2016
Skąd: Łowicz

Ostrzeżenie: (0%)
-----




mail($to, $subject, $message, $headers, '-f info@example.com'');
Go to the top of the page
+Quote Post
ReBeLs513
post
Post #7





Grupa: Zarejestrowani
Postów: 233
Pomógł: 0
Dołączył: 14.03.2010
Skąd: Dessau

Ostrzeżenie: (0%)
-----


"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 post edytował ReBeLs513 28.06.2016, 21:34:21
Go to the top of the page
+Quote Post
LowiczakPL
post
Post #8





Grupa: Zarejestrowani
Postów: 531
Pomógł: 55
Dołączył: 3.01.2016
Skąd: Łowicz

Ostrzeżenie: (0%)
-----


sprawdź bez spacji -fmail@mail.pl

Czy nie masz czasami przekierowania zrobionego dla tego emaila?
Go to the top of the page
+Quote Post
ReBeLs513
post
Post #9





Grupa: Zarejestrowani
Postów: 233
Pomógł: 0
Dołączył: 14.03.2010
Skąd: Dessau

Ostrzeżenie: (0%)
-----


przekierowanie mam z innego konta gmail na to, z ktorego wysylam wlasnie maile.. ps bez spacji tez nie pomoglo
Go to the top of the page
+Quote Post
franki01
post
Post #10





Grupa: Zarejestrowani
Postów: 508
Pomógł: 75
Dołączył: 2.11.2005
Skąd: Bydgoszcz

Ostrzeżenie: (0%)
-----


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?

Ten post edytował franki01 1.07.2016, 20:48:53
Go to the top of the page
+Quote Post
ReBeLs513
post
Post #11





Grupa: Zarejestrowani
Postów: 233
Pomógł: 0
Dołączył: 14.03.2010
Skąd: Dessau

Ostrzeżenie: (0%)
-----


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..
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.12.2025 - 00:20