- Este tópico contém 2 respostas, 2 vozes e foi atualizado pela última vez 16 anos, 1 mês atrás por
Anônimo.
-
AutorPosts
-
15 de fevereiro de 2010 às 6:15 pm #92636
Anônimo
Olá pessoa estou com um problema em enviar anexos usando o utl_smtp, pois na verdade eu já consegui enviar vários anexos e para vários destinatários mas o problema que estou tendo é que no servidor unix onde está o Oracle consigo definir no meu procedimento para enviar email 2 SMPT_SERVER: ‘localhosr’ ou ‘SMTP’ só que está ai o problema pois quando declaro que o SMPT_SERVER é ‘SMTP’ funciona tudo direitinho envia os email e com vários anexos de qualquer formato mas quando declaro SMPT_SERVER ‘localhost’ tenho o problema em anexar mais de 1 fichiero pois ele me parece que agrupa todos os fichieros em 1 só pois desconfio disso porque quando recebo o email vem o anexo com a soma total de todos os ficheiros em KB pois tenho 2 ficheiros de arquivo.jpg(30KB) e docum.pdf(70KB) e quando recebo o email me aparece arquivo.jpg(100KB).
SCRIPT
Este é o script que uso para anexar os ficheiros
bf_FileHandle := BFILENAME(I_vcDirName,I_vcFileName);
nu_FileLen := DBMS_LOB.GETLENGTH(bf_FileHandle);
nu_Pos := 1;
DBMS_LOB.OPEN(bf_FileHandle,DBMS_LOB.LOB_READONLY);LOOP
IF nu_Pos + 57 – 1 > nu_FileLen THEN
nu_ReadBytes := nu_FileLen – nu_Pos + 1;
ELSE
nu_ReadBytes := 57;
END IF;
DBMS_LOB.READ(bf_FileHandle,nu_ReadBytes,nu_Pos,dt_Data);
UTL_SMTP.WRITE_RAW_DATA(IO_Conn,utl_encode.base64_encode(dt_Data));
nu_Pos := nu_Pos + 57;
IF nu_Pos > nu_FileLen THEN
EXIT;
END IF;
END LOOP;DBMS_LOB.CLOSE(bf_FileHandle);
Obrigado
15 de fevereiro de 2010 às 6:39 pm #92637Regis Araujo
ParticipanteEi Midia..!
Seria legal vc colocar como resolveu…!!
Abraços..!
15 de fevereiro de 2010 às 6:54 pm #92638Anônimo
Ok,
Seguinte o problema que eu estava tendo não era na verdade no meu servidor ‘localhost’ ou ‘SMTP’ e sim como eu estava passando o BODY do email.
o meu HEAD estava:
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary=Boundary;e o BODY:
Content-Type: text/plain; charset=US-ASCII;
Content-Disposition: inline;
Content-Transfer-Encoding: text/plain’
Texto msg…–Boundary
Content-Type: multipart/mixed; ISO-8859-1; name=”arquivo.jpg”;
Content-Disposition: attachment; filename=”arquivo.jpg”;
Content-Transfer-Encoding: base64–Boundary
Content-Type: multipart/mixed; ISO-8859-1; name=”docum.pdf”;
Content-Disposition: attachment; filename=”docum.pdf”;
Content-Transfer-Encoding: base64–Boundary–
E desta forma meu erro está no (Content-Type: multipart/mixed;) e não na forma como eu tratava cada ficheiro. Mas o que me deixou intrigado foi com esse Type definido como (Content-Type: multipart/mixed;) estava a funcionar os envios de email com os anexos certos quando eu uso o server ‘SMTP’ e somente quando eu troco de server para ‘localhost’ ele me dava problema com os anexos, mas suspeito que seja alguma forma de tratamento que o ‘localhost’ tratava diferente essa é a parte que não compreendi bem mas como consegui resolver sem ser preciso compreender a forma do tratamento ta tudo blz, se alguém souber o porque diz.
Então para resolver meu problema bastou colocar no
Content-Type: multipart/mixed;
–troquei por–
Content-Type: application/octet-stream;E me anexou todos os fichieros no formato (pdf,jpg,txt,rar,zip)
Se precisarem de mais alguma informação é só pedir.
Abraços
-
AutorPosts
- Você deve fazer login para responder a este tópico.