Welcome to SpellCoder Sign in | Join | Help

SETTEC LTD sends SPAM daily to Egyptians using Random Arabic/Egyptian names and emails.
Changing the domain name almost every week (158 domains detected). Geeks could not accept this, we have to request the termination of Internet services (Internet Connection and Domain Service) for SETTEC. We should fight SPAM before it starts to be a normal act in Egypt.

Did you ever get SPAM messages with a Random Egyptian name in the from addresses every day?
That's SETTEC LTD way of doing business, buying your email addresses from others, sending SPAM and may be selling your email addresses too. They are usually advertising their training events. More details below

Unsubscribe script does not work?
Of course, because they just add it to the message to bypass SPAM checkers like SPAM Assassin and to make sure your Email is correct.

How can I count the emails I get from SETTEC?
I have more than 136 emails from them for 2 months (more in my archives)
The simplest way is to search for messages (body) that contains “No.asp?Email=”
I can not assure that this will always work, they can rename files but you can always find them

With a new domain almost every week they think that they can go undetected. But its actually very easy to detect and block their emails using Email Client like Mozilla Thunderbird and MS Outlook. Let me show you more information

SETTEC LTD Contact Information:
Agouza Police Tower, Nawal Street
Cairo, Agouza
Egypt
Cellular: +20.12-217-2809
Fax: +20.2-761-4343

Owned by Mohamed Fahmy (mohamed.fahmy@settecltd.com)
Owns IP Range: 196.204.140.16 to 196.204.140.23 from Raya Telecom

settecltd.com name service managed by Raya Telecom (Star Net) DNS:
NS1.RAYATELECOM.COM
NS2.STARNET.COM.EG

Of course, they do not send SPAM from their company's domain. They use more than 155 domains for this purpose. As I said previously, almost a domain per week spending about $40 per month to send you SPAM. Every expensive by the way, They must be earning $1000s per month.

HTTP Server:
These huge number of domains are currently divided into 4 different IP Addresses in Egypt owned by SETTEC

At least 44 domains pointing to 196.204.140.18
At least 41 domains pointing to 196.204.140.19
At least 41 domains pointing to 196.204.140.20
At least 32 domains pointing to 196.204.140.21
More are registered weekly, Please see the attached files for the list of domains per IP Address.

All these domains are registered through an Enom.com reseller and with the following registrant information and using fake Email Address:
Mohamed Fahmy
+20.0104564058
20 hindawi st, dokki

Some are not hosted locally like:
settecltd.com
importantismost.com

SMTP Server:
Of course they can not be sending this through an ISP SMTP Server without being blocked. They use a local SMTP service installed on a PC with dynamic Internet IP address still through Raya Telecom though.

DNS Server:
They use Enom.com DNS Service except for settecltd.com

What can we do online?
You have the right not to receive SPAM, so report this abuse of service: 0. Mark these Messages as SPAM/Junk and do not delete them. Keep them in your Junk Folder to be used as evidence. This also helps your SPAM detector learning. 1. Report Internet Connection and IP Abuse to Raya Telecom Abuse Department ( abuse%rayatelecom.net)
2. Report Domain and DNS Service Abuse to Enom.com Abuse Department (abuse%enom.com)
3. Report the SPAM messages to Anti-SPAM sites ex. spamcop.net
replace % by @

June 28th, 2006 updates: A new domain detected: Readytemplatez.com on Server .18
June 29th, 2006 updates: Sent Abuse Report Email messages to both Raya Telecom and Enom.
June 29th, 2006 updates: Two new domains detected: Yougeneral.com and Itspurpose.com on Server .19

support spam free egypt by posting the same message in your blog

 

from

http://www.mahmoudkassem.com/blog/egypt/spam/settec

 

 

   Atlas has many options to go for development you can choose to use all the server controls and extenders which provide very limited AJAX functionality (even with no AJAX functionality sometimes just javascript & CSS llike modal popup ) , this model sounds more like what the Atlas project promissed

   Or you can go for the XML Script style which is relied on the Javascript programming it's flexible it just drives you back to the problamatic hard to debug and edit model , also without a good UI designer it's pretty time consuming and very hard to debug, also you will lose the functionality of the extenders which are not compatible with this model

0 Comments
Filed Under: ,

   The New ASP.net wizard control is a nice work of art the dotnet team knew exactly what a devloper need 
   The update panel is also a very good control it works just out of the box with the wizard there's no need to add triggers to the update panel triggers section or anything

   This has lead me to the assumption that this is going to be a joy ride, but ofcourse i was wrong 
   I added my controls to the wizard steps and the work just fine the problem faced me when i started adding the standard asp.net validator controls it stopped moving next

   It seems that the update panel calls the validation routine with every call so if u don't have a validation control in the next step javascript breaks and u can't do the next server call

   Possible workaround add a textbox with a CSS invisible attribut like style="display:none;"
and add custom validator to that textbox for every step that doesn't have validation

0 Comments
Filed Under: ,

today i was trying to generate a SQL seript for a database on a sql server 2005 to run for another server with SQL 2000 installed

i found out that the SQL Server Management Studio Moved the Generate Script to

Right Click on DataBase Node ==> All Tasks ==> Generate Script

showed a very nice looking wizard and all

and it had a very descriptie options window ; where i was thrilled to c an option with compatibility for SQL Sever 2000 this was more than i could imagine But

this was not true because the generated code creates errors when executing

it was acceptable from microsoft to screw up a beta feature or discontinue a product like WINFS but to have something not even tested like that

that was strange ,and with such a large Team for SQL sever & 5 Years of development

i had to use a third party tool for that

and microsoft ofcourse knows about it

and may be we'll c a fix in the next SP :)

see other angry clients
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=166757&SiteID=1

0 Comments
Filed Under:

all you have to do to make your own built websutom control validatable (be validated by asp.net validation controls is

add the Attribute

[ValidationProperty("PropertyName")]

to your class and the property name for the property of the control that you want to validate in its constructor

By the way
if you need to reuse your Custom Validation
you can create your own validator Reusable control
all you have to do is to inherit a WebControl and implement a Ivalidator interface and here you go

public class ValidatorControl: Control,IValidator {}


 

1 Comments
Filed Under:

i wasted a lot of time trying to develop the perfect Date picker control

i found this free calendar control which is based on atlas

this one is really good though it's still in Beta

http://www.graymattersoft.com/Default.aspx?tabid=71

ah one more thing if u have trouble instantiating just remover all the properties from the aspx view and keep only id , runat (weird behavior with Wizard Control)

0 Comments
Filed Under: ,

well for a dotnetter it's kinda hard to adopt to the javascript environment (yeah yeah i know not if you were into ASP before dotnet)

well there's just two things to help you know what's wrong with what you do

first examine your objects that is really easy to do just do a

debug.dump(yourObject);

and one more thing use fireBug tool it's a perfect tool that tracks your requests and reponses in firefox , so if you have an exception you'll simply have the response tab displaying the exception information



0 Comments
Filed Under:
Attachment(s): what's+wrong.JPG
As a dotnet developer you are used to passing and returning objects in your method calls this is a basic example that illustrates retreiving a simple object from a web method  and passing an object to another.

this is the web service code

   1:  using System;
   2:  using System.Web;
   3:  using System.Collections;
   4:  using System.Web.Services;
   5:  using System.Web.Services.Protocols;
   6:   
   7:   
   8:  /// <summary>
   9:  /// This web service is the standard web service template that is added by visual studio 2005
  10:  /// </summary>
  11:  [WebService(Namespace = "http://tempuri.org/")]
  12:  [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
  13:  public class Service : System.Web.Services.WebService
  14:  {
  15:   
  16:      public Service () {
  17:   
  18:          //Uncomment the following line if using designed components 
  19:          //InitializeComponent(); 
  20:      }
  21:   
  22:      /// <summary>
  23:      /// Gets a contact.
  24:      /// just simply instanciates the contact object populate it with server information 
  25:      /// and return it 
  26:      /// </summary>
  27:      /// <returns>an object of type Contact</returns>
  28:      [WebMethod]
  29:      public Contact GetContact()
  30:      {
  31:          Contact contact = new Contact();
  32:          contact.FirstName = "Jhon";
  33:          contact.LastName = "Doe";
  34:          contact.Email = "jhon.doe@silverkey.us";
  35:          contact.Id = 5;
  36:          return contact;
  37:      }
  38:   
  39:      /// <summary>
  40:      /// Gets the full name.
  41:      /// simply by concatinating the first name and lastname
  42:      /// </summary>
  43:      /// <param name="contact">A contact object passed by the client javascript.</param>
  44:      /// <returns>a string representing the Full Name </returns>
  45:      [WebMethod]
  46:      public string GetFullName(Contact contact)    
  47:      {
  48:          return contact.FirstName + " " + contact.LastName;
  49:      }
  50:   
  51:   
  52:   
  53:      /// <summary>
  54:      /// this is a basic Class containning no logic 
           ///just the properties needed
  55:      /// for transferring data
  56:      /// </summary>
  57:      public class Contact
  58:      {
  59:          private string _firstName;
  60:   
  61:          public string FirstName
  62:          {
  63:              get { return _firstName; }
  64:              set { _firstName = value; }
  65:          }
  66:          private string _lastName;
  67:   
  68:          public string LastName
  69:          {
  70:              get { return _lastName; }
  71:              set { _lastName = value; }
  72:          }
  73:          private string _email;
  74:   
  75:          public string Email
  76:          {
  77:              get { return _email; }
  78:              set { _email = value; }
  79:          }
  80:          private int _id;
  81:   
  82:          public int Id
  83:          {
  84:              get { return _id; }
  85:              set { _id = value; }
  86:          }
  87:   
  88:      }
  89:      
  90:  }
  91:   
All we need now is to have a web page that consumes this code

   1:  <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
   2:   
   3:  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
   4:  <html xmlns="http://www.w3.org/1999/xhtml">
   5:  <head runat="server">
   6:      <title>Untitled Page</title>
   7:  </head>
   8:  <body>
   9:      <form id="form1" runat="server">
  10:          <!-- you need the script manager control in all your pages -->
  11:          <!-- adding the services section is a refrence for your service -->
  12:          <!-- this is a refrence to the webservice that you need to consume-->
  13:          <!-- by adding this line you will have atlas prepare a proxy for -->
  14:          <!-- that you can use in Javascript-->
  15:          <atlas:ScriptManager ID="ScriptManager1" runat="server" >
  16:               <Services>
  17:                  <atlas:ServiceReference Path="Service.asmx" GenerateProxy=true />
  18:               </Services>
  19:          </atlas:ScriptManager>
  20:   
  21:          <div>
  22:              <!-- these are just the buttons needed to call our functions -->
  23:              <input type=button runat=server onClick="invokeGetContact();" 
         value="getContact" /></br>
  24:              <input type=button runat=server onClick="invokeGetFullName();" 
         value="GetFullName" />
  25:          </div>
  26:      </form>
  27:      <script type="text/xml-script">
  28:          <page xmlns:script="http://schemas.microsoft.com/xml-script/2005">
  29:              <references>
  30:              </references>
  31:              <components>
  32:              </components>
  33:          </page>
  34:      </script>
  35:      <script  language=javascript>
  36:      
  37:          // the function that invokes the web service
  38:          // as the GetContact webmethod has no parameters
  39:          // we only need to pass the name of the function to invoke
  40:          // just after the webmethod returns from the server
  41:          function invokeGetContact(){
  42:              Service.GetContact(getContactCallBack);
  43:          }
  44:          
  45:          
  46:          // this function is the fucnion that is invoked
  47:          // after the server returns 
  48:          function getContactCallBack(results){
  49:              var contact=results;
  50:              // debug.dump() is a method that writes 
  51:              // the object hirarchy and values 
  52:              // it's like a watch for your objects 
  53:              debug.dump(contact);
  54:              
  55:              // as you can see this is a natural object behavior
  56:              // you can use the dot notation 
  57:              debug.dump(contact.FirstName);
  58:          }
  59:   
  60:          // to send an object to the server you'll 
  61:          // need to simulate the server class contact
  62:          // this is how a javascript class looks like         
  63:          // most common mistake here is misspelling 
  64:          function Contact(){
  65:              this.Id; // Int
  66:              this.FirstName; // string
  67:              this.LastName; //string 
  68:              this.Email;// string
  69:          }
  70:   
  71:   
  72:          // so basicall this will call the server webmethod
  73:          // just abc
  74:          function invokeGetFullName(){
  75:              // a instantiate the object
  76:              var contact=new Contact ();
  77:              
  78:              // populate it
  79:              contact.Id=1;
  80:              contact.FirstName="Bill";
  81:              contact.LastName="Gates";
  82:              contact.Email="bill.g@microsoft.com"; 
  83:              // do the call one parametere for the server function so
  84:              // i pass it then the callback function name
  85:              Service.GetFullName(contact,getFullNameCallBack);
  86:          }
  87:          
  88:          // simple writes the string result of the webmethod
  89:          // should display "Bill Gates" :)
  90:          function getFullNameCallBack(results){
  91:              debug.dump(results);
  92:          }
  93:          
  94:          
  95:      </script>
  96:  </body>
  97:  </html>
now all you need is find something to do with this code :)
0 Comments
Filed Under:
    technichally this is my technical blog