Fórum Script enviador de emails #487536
31/07/2014
0
nit UnitEmail;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, IdBaseComponent, IdComponent,
IdTCPConnection, IdTCPClient, IdHTTP, XPMan;
type
TForm1 = class(TForm)
BitBtn1: TBitBtn;
Memo1: TMemo;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
IdHTTP1: TIdHTTP;
XPManifest1: TXPManifest;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BitBtn1Click(Sender: TObject);
var
Lista: TStringList;
begin
Lista:=TStringList.Create;
try
Lista.Clear;
Lista.Add('email=' + QuotedStr(Edit1.Text));
Lista.Add('from=' + QuotedStr(Edit2.Text));
Lista.Add('subject=' + QuotedStr(Edit3.Text));
Lista.Add('message=' + QuotedStr(Memo1.Text));
try
idHTTP1.Post('http://www.workbit.net/mail.php',Lista);
except
MessageBox(0,'Erro no Envio.','Erro',MB_ICONERROR);
end;
finally
MessageBox(0,'Informações enviadas com sucesso!','Informação',MB_ICONINFORMATION);
end;
end;
end.O Script em PHP está hospedado com o endereço www.workbit.net/mail.php e está desta forma:
<html>
<head>
<title>Mail PHP</title>
</head>
<body>
<?php
$email = $_POST['email'] ;
$from = $_POST['from'];
$subject = $_POST['subject'];
$message = $_POST['message'] ;
mail( $email, $subject,
$message, "From: $from" );
?>
</body>
</html>Gostaria de saber se existe algum erro no Script que deveria receber os parâmetros e entregar os emails. Desde já agredeço!
Jonathas Lima
Curtir tópico
+ 0Post mais votado
31/07/2014
aparentemente o seu código para envio de e-mail está OK (e não precisa da estrutura HTML que você colocou), mas provavelmente o envio pode não estar funcionando por dois motivos:
- Não há um software de envio de e-mail (tal como o PostFix)
- Falta um header para que "burle" o sistema anti-spam do e-mail de destino (acredito que este seja o problema), para isto basta colocar algumas informações, de forma que o seu script fique da seguinte forma:
<?php $email = $_POST['email'] ; $from = $_POST['from']; $subject = $_POST['subject']; $message = $_POST['message'] ; $header .= "Reply-To: Some One <someone@mydomain.com>\r\n"; $header .= "Return-Path: Some One <someone@mydomain.com>\r\n"; $header .= "From: Some One <mydomain@myhost.com>\r\n"; $header .= "Organization: My Organization\r\n"; $header .= "Content-Type: text/plain\r\n"; mail( $email, $subject, $message, $header ); ?>
Substitua as informações da variável header e assim o seu e-mail não vai ficar preso em algum filtro anti-spam!
Rafael Carrenho
Gostei + 2
Mais Posts
31/07/2014
Jonathas Lima
Gostei + 0
31/07/2014
Jonathas Lima
$header .= "Reply-To: Some One <jonathaslima@live.com>\r\n"; $header .= "Return-Path: Some One <jonathaslima@live.com>\r\n"; $header .= "From: Some One <webmaster@workbit.hospedagemdesites.ws>\r\n"; $header .= "Organization: My Organization\r\n"; $header .= "Content-Type: text/plain\r\n";
Gostei + 0
01/08/2014
Rafael Carrenho
$header .= "Reply-To: Jonathas Lima <jonathaslima@live.com>\r\n"; $header .= "Return-Path: Jonathas Lima <jonathaslima@live.com>\r\n"; $header .= "From: WebMaster <webmaster@workbit.hospedagemdesites.ws>\r\n"; $header .= "Organization: Janathas Lima Ltda. S/A Corp.\r\n"; $header .= "Content-Type: text/plain\r\n";
que dessa forma vai aparecer bem bacana no cabeçalho do e-mail de quem receber a mensagem
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)