Upload de Documento / Imagem em email

(leandroauler) #1

Galera,

Alguem sabe como anexo documento usando sc_mail_send

Valeu,

Leandro

(George Carvalho) #2

Anexos: Lista de arquivos a serem anexados, podendo ser uma string ou variável contendo um ou mais endereços de arquivos, separados por “;”, ou uma variável contendo um array de endereços de arquivos.

Ex anexando arquivo:
sc_mail_send(‘smtp.meuserver.com.br’, ‘usr’, ‘pw’, ‘de@netmake.com.br’, ‘para@netmake.com.br’, ‘teste envio de e-mail’, ‘mensagem’, ‘H’, ‘abc@cop.com.br;zxy@cop.com.br’, ‘H’, ‘’, ‘’, ‘c:/teste/arq.txt’);

George Carvalho

(leandroauler) #3

George,

Quando envio sem anexo funciona normalmente, quando tento anexar exibe esse erro:

Uncaught Error of type [Swift_FileException] with message [No such file 'Acesso.htm'] @0 Form_Mala_Direta_apl::controle() in C:\Arquivos de programas\NetMake\v5\wwwroot\scriptcase\app\SCA\Form_Mala_Direta\Form_Mala_Direta.php on line 1197 @1 Form_Mala_Direta_apl::Valida_campos() in C:\Arquivos de programas\NetMake\v5\wwwroot\scriptcase\app\SCA\Form_Mala_Direta\Form_Mala_Direta_apl.php on line 821 @2 Swift_File::Swift_File() in C:\Arquivos de programas\NetMake\v5\wwwroot\scriptcase\app\SCA\Form_Mala_Direta\Form_Mala_Direta_apl.php on line 1350

O unico problema que acho que esta ocorrendo e criar a pasta onde ficam os anexos e o caminho correto.

Leandro

(George Carvalho) #4

O arquivo tem que estar no diretório informado em:

Administração / Diretórios do sistema / Diretório para Documentos

Ou indique o caminho do arquivo como: ‘c:/teste/arq.txt’

George Carvalho

(leandroauler) #5

George

Consegui eviar anexo… agora como faço por exemplo quando colocar a aplicação no servidor
como faço para definir a pasta dos anexos…

(George Carvalho) #6

Vai ser o caminho que você colocou em Diretório para Documentos, normalmente _lib/file/doc.

George Carvalho

(leandroauler) #7

George,

Valeu pela ajuda…

Leandro

(leandroauler) #8

George,

Estou colocando esse caminho ‘_lib/file/doc’{anexo} e tá dando erro.

No windows estav funcionado normal, quando coloquei noo servidor linux começou a dar problema.

(George Carvalho) #9

Qual o erro?

(leandroauler) #10

Parece erro de diretório…

 	
ERRO 	

Uncaught Error of type [Swift_FileException] with message [No such file '_lib/file/doc/conn.php ']
@0 Form_Mala_Direta_apl::controle() in /home/fogosagrado/www/sca/Form_Mala_Direta/Form_Mala_Direta.php on line 1244
@1 Form_Mala_Direta_apl::Valida_campos() in /home/fogosagrado/www/sca/Form_Mala_Direta/Form_Mala_Direta_apl.php on line 816
@2 Swift_File::Swift_File() in /home/fogosagrado/www/sca/Form_Mala_Direta/Form_Mala_Direta_apl.php on line 1331
(George Carvalho) #11

Post a macro sc_mail_send.

(leandroauler) #12

Segue

sc_set_global({assunto});
sc_set_global({emails});
sc_set_global({formato});
sc_set_global({msg});
sc_set_global({anexo});

/* Macro sc_lookup */

//echo {formato};

sc_lookup(dataset, "
select smtp, user, pass, email, porta from maladireta Where Id = 2
");

/* Erro no lookup */
if (FALSE === {dataset}) {
	sc_error_message("Ocorreu um erro no acesso ao banco de dados.<BR>");
}
else {

	sc_mail_send({dataset[0][0]}, {dataset[0][1]}, {dataset[0][2]}, {dataset[0][3]}, {emails}, {assunto}, {msg}, 'H',
 '', '', '', 'N', '/home/fogosagrado/www/sca/_lib/file/doc/'{anexo});

}

if ({sc_mail_ok})
{
sc_alert("Enviados {sc_mail_count} e-mail com sucesso !!");
}
else
{
echo {sc_mail_erro};
exit();
}
(George Carvalho) #13

O diretório /home está no raiz do seu servidor?

(leandroauler) #14

George,

O diretorio home está assim.

/home/fogosagrado
(George Carvalho) #15

Já tentou

sc_mail_send({dataset[0][0]}, {dataset[0][1]}, {dataset[0][2]}, {dataset[0][3]}, {emails}, {assunto}, {msg}, ‘H’,
‘’, ‘’, ‘’, ‘N’, ‘/_lib/file/doc/’{anexo});

?

Outra pergunta:

O {anexo} não fica dentro das aspas?

(leandroauler) #16

Já tentei assim…

Sempre funcionou com o {anexo} fora das aspas… nunca tentei dentro…

(George Carvalho) #17

Segundo o manual da macro:

anexos: Lista de arquivos a serem anexados, podendo ser uma string ou variável contendo um ou mais endereços de arquivos, separados por “;”, ou uma variável contendo um array de endereços de arquivos.

Ex1:
sc_mail_send(‘smtp.meuserver.com.br’, ‘usr’, ‘pw’, ‘de@netmake.com.br’, ‘para@netmake.com.br’, ‘teste envio
de e-mail’, ‘mensagem’, ‘H’, ‘abc@cop.com.br;zxy@cop.com.br’, ‘H’, ‘’, ‘’, ‘c:/teste/arq.txt’);

(George Carvalho) #18

O endereço do arquivo por ser www., (o endereço do site) mais os diretórios até o documento.

ou a partir do diretório raiz do servidor.

(leandroauler) #19

George,

tô quase desistindo… coloquei o {anexo} entre aspas e não funcionou tbm…

Leandro

(George Carvalho) #20

Testa assim:

$anexo = ‘/home/fogosagrado/www/sca/_lib/file/doc/’.{anexo};

sc_mail_send(’{dataset[0][0]}’, ‘{dataset[0][1]}’,’ {dataset[0][2]}’,’{dataset[0][3]}’, ‘{emails}’,’{assunto}’,’{msg}’,‘H’,
‘’, ‘’, ‘’, ‘N’, ‘$anexo’);