Menu

Mostrar postagens

Esta seção permite que você visualize todas as postagens feitas por este membro. Observe que você só pode ver postagens feitas em áreas às quais tem acesso atualmente.

Menu Mostrar postagens

Mensagens - Minato

#1
Dúvidas / Anti-vírus detecta edições no registro...
28 de Julho , 2011, 10:42:04 PM
Boa noite!

Queria saber se existe alguma forma de mexer no registro sem que nenhum anti-vírus encha o saco... isso em qualquer linguagem. Usando o C++ com os comandos RegOpenKey e o RegSetValueEx o anti-vírus já enche o saco. Haveria alguma outra forma, ou com outra linguagem, que daria pra fazer isso sem que nenhum anti-vírus encha o saco? Talvez isso é meio difícil de acontecer, mas não custa perguntar! (:

Valeu!
#2
Perl / Re:Envio de email (SMTP)
21 de Julho , 2011, 03:01:08 PM
Hm, deve ser isso mesmo... Mas o anexo chegou certinho? :D

[ ]s
#3
Perl / Re:Envio de email (SMTP)
20 de Julho , 2011, 04:54:12 PM
Citação de: Fvox online 18 de Julho , 2011, 01:36:40 PM
Citação de: Minato online 17 de Julho , 2011, 01:07:08 AM
Eu fui usar o módulo MIME pra poder enviar com anexo, porém recebi um erro sobre ARRAY. Não lembro direito o que era, mas só sei que dava erro no cmd.pl (acho que era esse, ou era cmd.pm). Se alguém souber o motivo e responder, ficaria agradecido! :D

Hi.
Seu erro está aqui na linha 38:
$mailer->mail(email\@gmail.com'); 

A string termina mas não começa (faltou as aspas).

Outra coisa importante: com quotes (aspas simples), você não precisa escapar os arrays (\@), pois eles não tentarão ser lidos como variáveis dentro de uma string.
Isso provavelmente vai te causar um erro de autenticação, ainda que o email seja válido. Portanto, só coloque \@ quando houver aspas duplas!

[]'s

Ah sim, agora entendi isso de quotes e talz. Valeu.

Eu arrumei o erro na linha 38 e mesmo assim deu erro. Olha só como ficou:

use strict;
use warnings;

use FindBin;
use Net::SMTP::TLS; 
use MIME::Lite;

use lib ("$FindBin::Bin/CPAN");


my $msg = MIME::Lite->new(
        From    => 'email@gmail.com',
        To      => 'email@yahoo.com',       
        Subject => 'Assunto',
        Type    =>'multipart/signed',
);

### Add the text message part
$msg->attach (
Type => 'TEXT',
Data => 'Mensagem do corpo'
) or die "Error adding the text message part: $!\n";
   
    $msg->attach(
        Type     => 'application/notepad',
        Path     => 'C:\novo\dentro\output.txt',
        Filename => 'output.txt',
        Disposition => 'attachment',
    );

my $mailer = new Net::SMTP::TLS( 
    'smtp.gmail.com', 
    Port    => 587, 
    User    => 'email@gmail.com', 
    Password=> 'senha'); 
$mailer->mail('email@gmail.com'); 
$mailer->to('email@yahoo.com'); 
$mailer->data; 
$mailer->datasend($msg->as_string); 
$mailer->dataend; 
$mailer->quit; 


E esse foi o erro que retornou no console: Not an ARRAY reference at C:/perl64/site/lib/Net/SMTP/TLS.pm line 324, <GEN0> line 7.
Não faço a menor ideia de como resolver. Abri o TLS.pm mas não sei mexer nisso, haha.

[ ]s
#4
C/C#/C++ / Re:Email Simples por C++
17 de Julho , 2011, 01:08:16 AM
Nem vi que tinha outro tópico, sorry.

http://www.forum.darkers.com.br/index.php?topic=11504.0
#5
Perl / Re:Envio de email (SMTP)
17 de Julho , 2011, 01:07:08 AM
Citação de: Fvox online 14 de Julho , 2011, 03:36:17 PM
Hi.

Com o concat na string $eh, o resultado final foi smtp.yahoo.com.
O SMTP do yahoo é smtp.mail.yahoo.com.br. Faltou o .mail e o .br. =P

Se ainda sim não funcionar, eu testo o script aqui e vejo pra ti. :-)

[]'s

Pra falar a verdade, eu já consegui e fiz de outra forma. O smtp do yahoo é smtp.yahoo.com mesmo, que é o que eu uso no Thunderbird.
Só pra constar, aqui vai o que deu certo:

#!usr/bin/perl

use warnings;
use strict;
use Net::SMTP::SSL;
use MIME::Lite;
use FindBin;

use lib ("$FindBin::Bin/CPAN");

my $message = "From: suaconta\@gmail.com\nTo:
outraconta\@yahoo.com\nSubject: Assunto\n\nCorpo da mensagem\n\n";
print "Message:\n";
print $message;
print "\n";

my $DEBUG = 1;

my $ServerName = "smtp.gmail.com";
my $ServerAccount = "suaconta"; #não é suaconta@gmail.com, é só suaconta mesmo
my $ServerPwd = "senha";
my $MailFrom = "suaconta\@gmail.com";
my $MailTo = "outraconta\@yahoo.com";

print "Variáveis prontas\n";

my $smtp = Net::SMTP::SSL->new($ServerName,
                               Port => 465,
                               DEBUG => 1,
                               ) or warn "$!\n";
   
print "Conexão estabelecida\n";

if ( !$smtp->auth($ServerAccount, $ServerPwd) ) {
print "Falha na autenticacao\n";
}

if ( !$smtp->mail( $MailFrom ) ) {
print "Sender recusado\n";
exit 1;
}

if (!$smtp->to( $MailTo ) ) {
print "Endereco recusado\n";
exit 1;
}

my $maildata = $message;
$smtp->data();
$smtp->datasend( $maildata );
$smtp->dataend();
$smtp->quit();
$smtp->quit;

print "Email enviado\n";


Eu fui usar o módulo MIME pra poder enviar com anexo, porém recebi um erro sobre ARRAY. Não lembro direito o que era, mas só sei que dava erro no cmd.pl (acho que era esse, ou era cmd.pm). Se alguém souber o motivo e responder, ficaria agradecido! :D

Usando o MIME:
use strict;
use warnings;

use FindBin;
use Net::SMTP::TLS; 
use MIME::Lite;

use lib ("$FindBin::Bin/CPAN");


my $msg = MIME::Lite->new(
        From    => 'email\@gmail.com',
        To      => 'email\@yahoo.com',       
        Subject => 'Assunto',
        Type    =>'multipart/signed',
);

### Add the text message part
$msg->attach (
Type => 'TEXT',
Data => 'Mensagem do corpo'
) or die "Error adding the text message part: $!\n";
   
    $msg->attach(
        Type     => 'application/notepad',
        Path     => 'C:\novo\dentro\output.txt',
        Filename => 'output.txt',
        Disposition => 'attachment',
    );

my $mailer = new Net::SMTP::TLS( 
    'smtp.gmail.com', 
    Port    => 587, 
    User    => 'email\@gmail.com', 
    Password=> 'senha'); 
$mailer->mail(email\@gmail.com'); 
$mailer->to('email\@yahoo.com'); 
$mailer->data; 
$mailer->datasend($msg->as_string); 
$mailer->dataend; 
$mailer->quit; 
#6
Perl / Envio de email (SMTP)
12 de Julho , 2011, 05:52:33 PM
Preciso enviar um email através de Perl. Porém ele não funciona, haha. Eis o código que usei para testar:

#!/usr/bin/perl
use Net::SMTP;
print q{
##############################
# Trabalhando com Emails
# usando o Net::SMTP
##############################
};
# DADOS
print 'Qual é o email Host?'; #pergunta para o usuário qual o emailhost que ele vai usar
chomp($eh = <STDIN>); #salva na memória
print 'Nome:'; #entra com o nick
chomp($name = <STDIN>);
print 'email:'; #entra com o user
chomp($mail = <STDIN>);
print 'senha:'; #entra com a senha
chomp($pass = <STDIN>);
print 'enviar para quem?:'; #entra com o destinatário
chomp($dest = <STDIN>);
print 'remetente:'; #entra com o remetente
chomp($remt = <STDIN>);
print 'Mensagem:'; #entra com o conteúdo
chomp($msg = <STDIN>);

# CONEXÃO
$smtp = Net::SMTP->new('smtp.$eh'); #abre a conexão
$smtp->mail("$name");
$smtp->auth("$mail","$pass");
$smtp->to('$dest');
$smtp->data();
$smtp->datasend("To:$dest ");
$smtp->datasend("From: $remt");
$smtp->datasend("$msg");
$smtp->quit;
# FIM DA CONEXÃO
print "email enviado";
<STDIN>;
exit;


O que eu digitei:
$eh: yahoo.com
$name: Minato
$mail: algo@yahoo.com (não vou digitar o email que usei :D )
$pass: minhasenha (contém o caractere '=', pode ser que isso seja o erro, mas sei lá)
$dest: algo@yahoo.com (usei o mesmo, só tenho uma conta no yahoo...)
$remt: algo@yahoo.com
$msg: mensagemteste

EDIT: mudei o $mail de 'algo@yahoo.com' para somente 'algo'. Também não deu certo.

Olhei a caixa de entrada, lixo, spam do meu email e não tem nada. Qual poderia ser o problema?

Valeu!
#7
C/C#/C++ / Email Simples por C++
12 de Julho , 2011, 03:45:36 PM
Olá!

Estou precisando de um script que envie um email simples, só contendo:
From;
To;
Assunto;
Texto (corpo);

Preciso disso pois esse programa estaria no PC de alguma outra pessoa e esse email teria que ser enviado silenciosamente. E o conteúdo do texto eu pegaria através de um .txt (esse .txt seria criado a partir de um script em Perl que eu farei)... ou o conteúdo poderia estar numa variável do Perl, tanto faz.

O que eu pretendo fazer é:
-Rodar um script em Perl;
-Gravar o .txt;
-Chamar o script em C++ pelo Perl já enviando um conteúdo;

-- Programo em VB.NET, SQL e arrisco no Perl e Java, porém o PC da pessoa não possui o .NET Framework e eu preciso de algo mais leve do que importar tudo. Mas possuo um pouco de conhecimento em C++ (nunca mexi em POO no C++, mas eu sei isso em Java e VB.NET)

Só pra constar, o que eu já pesquisei não funcionou. O que mais parecia com o que eu queria é o seguinte código (que também não consegui fazer funcionar para testar... aliás, nem compilou! LOL):


     #include<iostream>
     #include <sys/types.h>
     #include <sys/socket.h>
     #include <netinet/in.h>
     #include <netdb.h>
     #include <stdio.h>
     using namespace std;
     #define HELO "HELO 192.168.1.1\r\n"
     #define DATA "DATA\r\n"
     #define QUIT "QUIT\r\n"

    //#define h_addr h_addr_list[0]
    //FILE *fin;
    int sock;
    struct sockaddr_in server;
    struct hostent *hp, *gethostbyname();
    char buf[BUFSIZ+1];
    int len;
    char *host_id="192.168.1.10";
    char *from_id="primeiroemail@host.com.br";
    char *to_id="segundoemail@host.com.br";
    char *sub="testmail\r\n";
    char wkstr[100]="hello how r u\r\n";

    /*=====Send a string to the socket=====*/

    void send_socket(char *s)
    {
        write(sock,s,strlen(s));
        write(1,s,strlen(s));
        //printf("Client:%s\n",s);
    }

    //=====Read a string from the socket=====*/

    void read_socket()
    {
        len = read(sock,buf,BUFSIZ);
        write(1,buf,len);
      //printf("Server:%s\n",buf);
    }

    /*=====MAIN=====*/
    int main(int argc, char* argv[])
    {

    /*=====Create Socket=====*/
    sock = socket(AF_INET, SOCK_STREAM, 0);
    if (sock==-1)
    {
     perror("opening stream socket");
     exit(1);
    }
    else
      cout << "socket created\n";
    /*=====Verify host=====*/
    server.sin_family = AF_INET;
    hp = gethostbyname(host_id);
    if (hp==(struct hostent *) 0)
    {
     fprintf(stderr, "%s: unknown host\n", host_id);
     exit(2);
    }

    /*=====Connect to port 25 on remote host=====*/
    memcpy((char *) &server.sin_addr, (char *) hp->h_addr, hp->h_length);
    server.sin_port=htons(25); /* SMTP PORT */
    if (connect(sock, (struct sockaddr *) &server, sizeof server)==-1)
    {
     perror("connecting stream socket");
     exit(1);
    }
    else
      cout << "Connected\n";
    /*=====Write some data then read some =====*/
    read_socket(); /* SMTP Server logon string */
    send_socket(HELO); /* introduce ourselves */
    read_socket(); /*Read reply */
    send_socket("MAIL FROM: ");
    send_socket(from_id);
    send_socket("\r\n");
    read_socket(); /* Sender OK */
    send_socket("VRFY ");
    send_socket(from_id);
    send_socket("\r\n");
    read_socket(); // Sender OK */
    send_socket("RCPT TO: "); /*Mail to*/
    send_socket(to_id);
    send_socket("\r\n");
    read_socket(); // Recipient OK*/
    send_socket(DATA);// body to follow*/
    send_socket("Subject: ");
    send_socket(sub);
    read_socket(); // Recipient OK*/
    send_socket(wkstr);
    send_socket(".\r\n");
    read_socket();
    send_socket(QUIT); /* quit */
    read_socket(); // log off */

    //=====Close socket and finish=====*/
    close(sock);
    exit(0);
  }



Só precisaria que alguém me desse uma luz do que posso fazer pra poder enviar esse email silenciosamente com o conteúdo necessário.

Valeu desde já! õ/