netcoupler::netcoupler(QString s, QObject *parent) : QObject(parent), nick(s) { connect(volume, SIGNAL(valueChanged (int)),&singleton<sound_handler>(), SLOT(volumechange(int))); irc = new ircnet(nick, this); connect(irc, SIGNAL(sigusergarbage(const QString&,const QString&)),this, SIGNAL(sigusergarbage(const QString&,const QString&))); connect(irc, SIGNAL(sigusergarbagejoin(const QString&,const QString&)),this, SIGNAL(sigusergarbagejoin(const QString&,const QString&))); connect(irc, SIGNAL(sigusergarbagepart(const QString&,const QString&)),this, SIGNAL(sigusergarbagepart(const QString&,const QString&))); connect(irc, SIGNAL(sigusergarbagequit(const QString&,const QString&)),this, SIGNAL(sigusergarbagequit(const QString&,const QString&))); connect(irc,SIGNAL(sigconnected()),this,SLOT(ircconnected())); connect(irc,SIGNAL(sigdisconnected()),this,SLOT(ircdiconnected())); http = new snoppanet(this); connect(http, SIGNAL(sigchannelscheme(QString,QString)),this, SLOT(getscheme(QString,QString))); connect(irc, SIGNAL(siggetlist(QStringList)),this, SLOT(getchannellist(QStringList))); connect(irc, SIGNAL(sigmsg(const QString&,const QString&,const QString&)),this, SLOT(getmsg(const QString&,const QString&,const QString&))); connect(irc, SIGNAL(signotice(const QString&,const QString&,const QString&)),this, SLOT(getnotice(const QString&,const QString&,const QString&))); connect(irc, SIGNAL(siggotidletime(const QString&, int)),this, SIGNAL(siggotidletime(const QString&, int))); connect(irc, SIGNAL(signosuchnick(const QString&)),this, SIGNAL(signosuchnick(const QString&))); connect(http, SIGNAL(sighostlist(QList<hoststruct>,QString)),this, SLOT(gethostlist(QList<hoststruct>,QString))); connect(&users, SIGNAL(sigbuddyarrived()),&singleton<balloon_handler>(), SLOT(buddyarrived())); connect(&users, SIGNAL(sigbuddyleft()),&singleton<balloon_handler>(), SLOT(buddyleft())); connect(this,SIGNAL(sigconnected()),&singleton<balloon_handler>(),SLOT(connected())); connect(this,SIGNAL(sigdisconnected()),&singleton<balloon_handler>(),SLOT(disconnected())); QStringList sl = inihandler.stringlistfromini("[irc ip]"); if (sl.isEmpty()) { connect(http, SIGNAL(sigircip(QString)),this, SLOT(getircip(QString))); http->start(); } else { ircip = sl.first(); irc->setip(ircip); irc->start(); usesettingswindow("sbwhorepead"); } connect(QApplication::instance(), SIGNAL(aboutToQuit()),this, SLOT(sendquit())); p->setProcessChannelMode(QProcess::MergedChannels); connect(p, SIGNAL(finished (int , QProcess::ExitStatus)),this, SLOT(processfinished(int , QProcess::ExitStatus))); connect(p, SIGNAL(readyRead()),this, SLOT(readprocess())); isaway = 0; usesettingswindow("cbsetawaywhilegaming"); usesettingswindow("leawaystring"); mutedusers = singleton<snpsettings>().map["mutedusers"].toStringList(); connect(this, SIGNAL(sigsettingswindowchanged()),this, SLOT(usesettingswindow())); connect(this, SIGNAL(sigsettingswindowchanged()),&users, SLOT(usesettingswindow())); }
int sendmailto(char *smtphost,char *mailto,char *mailcc, char *mailbcc,char *mailfrom,char *subject,char *content,recipient *head) { int tempreturn = 0; simplesock s; if (mailto == NULL || strlen(mailto) == 0) return(0); /* Exit if there are no recipient */ s = init_socket(smtphost,25); if (strlen(s.errmessage) != 0) { fprintf(LOG," SMTP: %s\n",s.errmessage); return(0); // Unable to contact the server } if (okresponse(s,"2xx") == 0) return(0); fprintf(s.S_out,"HELO %s\n",smtphost); fflush(s.S_out); if (okresponse(s,"2xx") == 0) { sendquit(s); return(0); } fprintf(s.S_out,"MAIL FROM:<%s>\n",mailfrom); fflush(s.S_out); if (okresponse(s,"2xx") == 0) { sendquit(s); return(0); } if (mailto != NULL && strlen(mailto) > 0) tempreturn = tempreturn + mult_send(s,mailto,MAILDELIM,head); if (mailcc != NULL && strlen(mailcc) > 0) tempreturn = tempreturn + mult_send(s,mailcc,MAILDELIM,head); if (mailbcc != NULL && strlen(mailbcc) > 0) tempreturn = tempreturn + mult_send(s,mailbcc,MAILDELIM,head); if (tempreturn == 0) { // Don't have any available reciepient sendquit(s); return(0); } fprintf(s.S_out,"DATA\n"); // Send Data header fflush(s.S_out); if (okresponse(s,"354") == 0) { sendquit(s); return(0); } fprintf(s.S_out,"From: %s\n",mailfrom); /* Sending header lines */ fprintf(s.S_out,"Subject: %s\n",subject); if (mailto != NULL) fprintf(s.S_out,"To: %s\n",mailto); if (mailcc != NULL) fprintf(s.S_out,"CC: %s\n",mailcc); fprintf(s.S_out,"Content-Type: text/plain; charset=us-ascii\n"); fprintf(s.S_out,"Content-Transfer-Encoding: 7bit\n"); submit_content(s,content); fprintf(s.S_out,"\n.\n"); fflush(s.S_out); if (okresponse(s,"250") == 0) { sendquit(s); return(0); // Error occurs } sendquit(s); return(1); }