Introduction
The article addresses two topics: sending an email message to a standard email account, and sending an SMS message to a cell phone or pager. The approach uses the SMTP client contained in System.Net to accomplish both types of message submittal, and all messages are sent from ASP.NET 2.0 ASPX pages.
The SMTP email portion application will demonstrate the following:
- Using SMTP to configure and send email messages
- Adding �CC� addresses as message recipients
- Adding attachments to a message
The SMS portion of the email application will demonstrate the following:
- Passing standard email messages through the carrier to deliver SMS messages to the target.
In addition to discussing the small bit of code necessary to send these messages, the document will address the primary configuration requirements needed to successfully send messages through an ASP.NET 2.0 based website on an IIS server.
In order to use this demonstration, you should have an instance of IIS installed on your development machine, you should have Visual Studio 2005 installed, and you should have the optional SMTP mail server installed in your local IIS instance.

Figure 1: The main page of the demonstration application
Getting Started
Unzip the attached file; in it, you will find a solution containing a web site project entitled, �RealMail�. Store the unzipped file onto your system, and create a virtual directory pointing to the web application from IIS. Then, open the solution in Visual Studio 2005. Looking at the Solution Explorer, you will see the files indicated in figure 2.

Figure 2: RealMail web application in the Solution Explorer
There are two ASPX pages in the solution, the first (default.aspx) is used to send a standard message to a recipient using the .NET 2.0 SMTP class library; the second page is used to send an SMS message to a cellular telephone or messaging pager through SMTP.
IIS Configuration
Your local IIS instance has to be properly configured in order to successfully send an email message through its SMTP mail server. Even if you install IIS, the SMTP mail server installation is optional, and must be explicitly added to the installation. If you are not sure whether or not the SMTP mail server is installed, open up the IIS control panel and check for the installation; if it is installed, you will see a reference to the Default SMTP Virtual Server in the tree view (Figure 3):

Figure 3: Default SMTP Virtual Server installed
If the server is not installed, you will need to use the �Add and Remove Windows Components� function in the �Add and Remove Programs� control panel to add the SMTP server to your IIS installation. If you need to do this additional installation, once you�ve opened �Add and Remove Windows Components�, click on �Internet Information Services (IIS)� to highlight it, and then click on the �Details� button (Figure 4). This will open an IIS dialog; examine this dialog to locate �SMTP Service�, and click on it to place a check mark on the box (Figure 5). Once this item has been checked, click on the �OK� button to install the SMTP server.

Figure 4: Windows Components Wizard

Figure 5: Adding the SMTP Service to IIS
Once the default SMTP server has been installed or verified, you can now configure it to send email. In order to configure the SMTP server, open the IIS control panel, locate the default SMTP server icon in the tree view, and select and right click the icon. Once the context menu has been displayed, locate �Properties�, and click on it to open the Properties menu. Once the Default SMTP Virtual Server Properties dialog is displayed, click on the �Access� tab (Figure 6):

Figure 6: SMTP Properties dialog
Select the �Authentication� button to display the authentication options (Figure 7):

Figure 7: Authentication options
Make sure that the Anonymous access option is checked, and that all other options are unchecked; in some instances, you may wish to use the other options, but in most cases involving a public website, this is the option you�d want. Once you have verified this setting, click �OK� to close this dialog.
Back to the �Access� tab, locate and click on the �Relay� button to display the relay options. Note that the radio button for �Only the list below� is selected, and that the local host IP address has been added to the list of computers permitted to relay through the SMTP server. Naturally, this is OK for a development machine, but in deployment, you would use the actual IP address of the web server. If no IP addresses are shown in the list, click on the �Add� button and add the IP address. Once finished, click on the �OK� button to accept the changes and to dismiss the dialog (Figure 8).

Figure 8: Relay Restrictions dialog
Next, select the �Delivery� tab from the SMTP Server Properties dialog (Figure 9):

Figure 9: Delivery Options dialog
From this dialog, select the �Advanced� button to reveal the advanced options dialog (Figure 10):

Figure 10: Advanced Delivery dialog
From this dialog, there are two points to make: first, the �Fully qualified domain name� property should be pre-populated, you may click on the �Check DNS� button to validate the setting. The next option is probably the most critical item for the whole shooting match; the Smart Host property has to be set to point to a valid SMTP mail server that will permit you to relay mail. For most cases, you will key in the name of your internet provider�s default SMTP mail server; the address is likely to be in the format of �mail.something.com� where �something� is the internet provider�s domain name. There are two easy ways to get this: one is, if you are using Outlook, open up Outlook and pull up the information on your email account; the mail server will be listed there. The second option is to guess, and you can qualify your guess by pinging the server.
If your internet provider�s name is �foxtrox�, try pinging mail.foxtrot.com; if you get a response there, that is probably the one to use. If that does not work, contact your administrator and ask them for the information on the SMTP mail server; don�t try to plug in an Exchange server, there will likely be an SMTP mail server out there even if your company is using an Exchange server. The only other hurdle is to make sure that the SMTP mail server will allow you to relay, and again, you may need to talk to the administrator if the server bounces your mail. Once these settings are made, click on the �OK� button to save the settings and close the dialog.
The last thing to do is to check the security tab to make sure the accounts are properly configured; once done, your security settings should look something like this (Figure 11):

Figure 11: Security settings for the SMTP server
Once everything is setup, click on the �OK� button to save the settings and to close the Default SMTP Virtual Server Properties dialog.
The Code: Sending an Email From an ASP.NET 2.0 Web Page
Open up the default.aspx code window from the included example project, and examine the code used to send an email.
Imports
Note that the project includes only three imports:
Imports System
Imports System.Net
Imports System.Net.Mail
The application uses the System.NET.Mail libraries to format and send SMTP based email messages; these imports are required to run the project, and to send the email messages. This is also new to ASP.NET 2.0 and Visual Studio 2005.
Declarations
Within the declarations section at the beginning of the project, you will note a standard class declaration followed by a region called �Declarations�; within the Declarations region is a collection of variables used to contain information used in sending the mail:
Partial Class _Default_
Inherits System.Web.UI.Page
#Region "Declarations"
Private mMailServer As String
Private mTo As String
Private mFrom As String
Private mMsg As String
Private mSubject As String
Private mCC As String
Private mPort As Integer
#End Region
The Code
The first bit of code is a subroutine used to generate alerts; it has no bearing on the topic of sending messages, but I frequently use this code block whenever I want to generate an alert from a web page. The code is pretty simple. It merely places the JavaScript code necessary to define and display an alert box into the text field of a Label control, and then adds the control to the current page; since the Label will fire any JavaScript passed to it, as soon as the control is added to the page, the alert box will fire.
Private Sub MessageBox(ByVal strMsg As String)
Dim lbl As New Label
lbl.Text = "<script language="
& "window.alert(" & "'" & strMsg & "'" & ")</script>"
Page.Controls.Add(lbl)
End Sub
The only other bit of code in the application is the Send button�s Click event handler; this handler captures the user�s inputs from the page, uses those inputs to populate the message related variables, and then formats a message using the variable content. You may note that the server and port settings are extracted from the AppSettings contained in the web.config file.
When examining the code, note how the file attachment and the CC list is handled by the code contained in the Try-Catch block. If you wanted to add blind carbon copies (BCC recipients), you could add them in a manner similar to that applied to processing the standard CC list.
Here is the entire block of code:
Protected Sub btnSend_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles btnSend.Click
Dim strMsg As String
strMsg = txtMessage.Text
mTo = Trim(txtTo.Text)
mFrom = Trim(txtFrom.Text)
mSubject = Trim(txtSubject.Text)
mMsg = Trim(txtMessage.Text)
mMailServer = ConfigurationManager.AppSettings.Get("MyMailServer")
mPort = ConfigurationManager.AppSettings.Get("MyMailServerPort")
mCC = Trim(txtCC.Text)
Try
Dim message As New MailMessage(mFrom, mTo, mSubject, mMsg)
If fileAttachments.HasFile Then
Dim attached As New
Attachment(Trim(fileAttachments.PostedFile.FileName.ToString()))
message.Attachments.Add(attached)
End If
If mCC <> "" Or mCC <> String.Empty Then
Dim strCC() As String = Split(mCC, ";")
Dim strThisCC As String
For Each strThisCC In strCC
message.CC.Add(Trim(strThisCC))
Next
End If
Dim mySmtpClient As New SmtpClient(mMailServer, mPort)
mySmtpClient.UseDefaultCredentials = True
mySmtpClient.Send(message)
MessageBox("The mail message has been sent to " & message.To.ToString())
Catch ex As FormatException
MessageBox("Format Exception: " & ex.Message)
Catch ex As SmtpException
MessageBox("SMTP Exception: " & ex.Message)
Catch ex As Exception
MessageBox("General Exception: " & ex.Message)
End Try
End Sub
Within the Try-Catch block, note that format, SMTP, and general exceptions are trapped, and displayed to the user using the MessageBox subroutine at the beginning of the code block.
The Code: Sending an SMS Message Through ASP.NET 2.0
Open up the sendSmsMsg.aspx code window from the included example project, and examine the code used to send an SMS message as email.
Imports
Note that the project includes only three imports:
Imports System
Imports System.Net
Imports System.Net.Mail
The application uses the System.NET.Mail libraries to format and send SMTP based email messages; these imports are required to run the project and to send the email based SMS messages.
Declarations
Within the declaration section at the beginning of the project, you will note a standard class declaration followed by a region called �Declarations�; within the Declarations region, is a collection of variables used to contain information used in sending the email based SMS messages:
Partial Class sendSmsMsg _
Inherits System.Web.UI.Page
#Region "Declarations"
Private mMailServer As String
Private mTo As String
Private mFrom As String
Private mMsg As String
Private mSubject As String
Private mPort As Integer
#End Region
The Code
So far, you may have noticed that everything is the same up to this point; from this point on, things will continue to be similar, but there are a few interface and variable differences that make it possible to send SMS messages via the SMTP server.
The most interesting thing to note with regards to sending an SMS message is that you don�t have to do anything special. The carriers expose an interface through which you can send an email message (with some restrictions) to the cell phone subscriber, and the carrier will transmit that message as SMS to the subscriber.
In general, the important things to know are that the address of the subscriber is their ten digit cell number (area code and number) coupled with the carrier's specified address. This application includes a list of most of the US carriers and some off shore carriers as well. If you are located outside of the US, you may need to do a little research to find the proper address for your targeted carriers, and I should point out that some carriers do not support this interface.
In the page load event handler, I have populated a drop down list with the list of carriers:
Protected Sub Page_Load(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.Load
cboCarrier.Items.Add("@itelemigcelular.com.br")
cboCarrier.Items.Add("@message.alltel.com")
cboCarrier.Items.Add("@message.pioneerenidcellular.com")
cboCarrier.Items.Add("@messaging.cellone-sf.com")
cboCarrier.Items.Add("@messaging.centurytel.net")
cboCarrier.Items.Add("@messaging.sprintpcs.com")
cboCarrier.Items.Add("@mobile.att.net")
cboCarrier.Items.Add("@mobile.cell1se.com")
cboCarrier.Items.Add("@mobile.celloneusa.com")
cboCarrier.Items.Add("@mobile.dobson.net")
cboCarrier.Items.Add("@mobile.mycingular.com")
cboCarrier.Items.Add("@mobile.mycingular.net")
cboCarrier.Items.Add("@mobile.surewest.com")
cboCarrier.Items.Add("@msg.acsalaska.com")
cboCarrier.Items.Add("@msg.clearnet.com")
cboCarrier.Items.Add("@msg.mactel.com")
cboCarrier.Items.Add("@msg.myvzw.com")
cboCarrier.Items.Add("@msg.telus.com")
cboCarrier.Items.Add("@mycellular.com")
cboCarrier.Items.Add("@mycingular.com")
cboCarrier.Items.Add("@mycingular.net")
cboCarrier.Items.Add("@mycingular.textmsg.com")
cboCarrier.Items.Add("@o2.net.br")
cboCarrier.Items.Add("@ondefor.com")
cboCarrier.Items.Add("@pcs.rogers.com")
cboCarrier.Items.Add("@personal-net.com.ar")
cboCarrier.Items.Add("@personal.net.py")
cboCarrier.Items.Add("@portafree.com")
cboCarrier.Items.Add("@qwest.com")
cboCarrier.Items.Add("@qwestmp.com")
cboCarrier.Items.Add("@sbcemail.com")
cboCarrier.Items.Add("@sms.bluecell.com")
cboCarrier.Items.Add("@sms.cwjamaica.com")
cboCarrier.Items.Add("@sms.edgewireless.com")
cboCarrier.Items.Add("@sms.hickorytech.com")
cboCarrier.Items.Add("@sms.net.nz")
cboCarrier.Items.Add("@sms.pscel.com")
cboCarrier.Items.Add("@smsc.vzpacifica.net")
cboCarrier.Items.Add("@speedmemo.com")
cboCarrier.Items.Add("@suncom1.com")
cboCarrier.Items.Add("@sungram.com")
cboCarrier.Items.Add("@telesurf.com.py")
cboCarrier.Items.Add("@teletexto.rcp.net.pe")
cboCarrier.Items.Add("@text.houstoncellular.net")
cboCarrier.Items.Add("@text.telus.com")
cboCarrier.Items.Add("@timnet.com")
cboCarrier.Items.Add("@timnet.com.br")
cboCarrier.Items.Add("@tms.suncom.com")
cboCarrier.Items.Add("@tmomail.net")
cboCarrier.Items.Add("@tsttmobile.co.tt")
cboCarrier.Items.Add("@txt.bellmobility.ca")
cboCarrier.Items.Add("@typetalk.ruralcellular.com")
cboCarrier.Items.Add("@unistar.unifon.com.ar")
cboCarrier.Items.Add("@uscc.textmsg.com")
cboCarrier.Items.Add("@voicestream.net")
cboCarrier.Items.Add("@vtext.com")
cboCarrier.Items.Add("@wireless.bellsouth.com")
End Sub
When using the application, you will see this list of carriers in the area used to define the recipient�s address (see Figure 12):

Figure 12: List of carriers used to address SMS recipients
The message contains the �To� address, a �From� address, a subject line, and the message body itself (which is limited to 140 characters in length).
Clicking the Send button will start the ball rolling by executing the following Click event handler:
Protected Sub Button2_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Button2.Click
Dim strMsg As String
strMsg = txtMessage.Text
If strMsg.Length >= 140 Then
strMsg = strMsg.Substring(1, 140)
End If
mTo = Trim(txtToNumber.Text) & _
Trim(cboCarrier.SelectedItem.ToString())
mFrom = Trim(txtFrom.Text)
mSubject = Trim(txtSubject.Text)
mMsg = Trim(txtMessage.Text)
mMailServer = ConfigurationManager.AppSettings.Get("MyMailServer")
mPort = ConfigurationManager.AppSettings.Get("MyMailServerPort")
Try
Dim message As New MailMessage(mFrom, mTo, mSubject, mmsg)
Dim mySmtpClient As New SmtpClient(mMailServer, mPort)
mySmtpClient.UseDefaultCredentials = True
mySmtpClient.Send(message)
MessageBox("The mail message has been sent to " & _
message.To.ToString())
Catch ex As FormatException
MessageBox("Format Exception: " & ex.Message)
Catch ex As SmtpException
MessageBox("SMTP Exception: " & ex.Message)
Catch ex As Exception
MessageBox("General Exception: " & ex.Message)
End Try
End Sub
As you will quickly see, the code is the same with a couple of minor exceptions; one pertains to validating the size of the message to be less than 140 characters, and the other major exception is in how the address of the recipient is constructed.
Of course, it should go without saying that the recipient of the message is charged a fee for the transactions, and as tempting as it might be to set this up to loop a couple of thousand times and send �Happy Birthday� greetings to your ex-wife�s divorce attorney, don�t do it.
The rest of the code in this page is identical to the default page described earlier; that includes the code to generate the alerts; there is also a hyperlink on both pages that allows you to traverse back and forth between the pages.
Summary
The article and sample project were intended to demonstrate the approach used to send email messages using SMTP through .NET; the examples also attempted to describe the ease with which this approach could be used to send SMS messages to cell phone subscribers using the same techniques applied to sending standard email messages.
| You must Sign In to use this message board. |
|
|
 |
|
 |
I have found sample code to send SMS in many places but don't get information how to send message to a pager? Is there anybody who can point me to the right direction? Thank you.
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
Please any one tell me can we send mail without mail server User and password .PLase mail me at sanjay30784@t=rdeiffmail.com
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
I am using ASP.net 2.0 and C# and using System.Net.mail and port is 587 not 25 because it is mostly treate as Spam and blocked by many target sites.So please solve my problem
|
| Sign In·View Thread·PermaLink | 1.00/5 |
|
|
|
 |
|
 |
Hi friends I am saif I have used your code given above to send a mail I have made all efforts to send a mail in ASP.net 2.0 but mail not sent . I have not received any error or exception . report is mail sent successful but when i check the receipent's account then no new mail is there. Pls help me
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
 | friend  sasikalasengottaiyan | 22:03 18 Jun '09 |
|
|
 |
|
 |
i have face the prob that after sent message display hangup the system and internet not woking but after resume the net connection i found that no email sent to an email account please give the solution
thanking you
|
| Sign In·View Thread·PermaLink | 1.00/5 |
|
|
|
 |
|
 |
I want to save my recieved mails into database in my asp.net application. how can I read my mails using smtp. thanks in advance.
FriendlyCoding
|
| Sign In·View Thread·PermaLink | 1.40/5 |
|
|
|
 |
|
 |
'Using Statements @1-05405DBB Imports System Imports System.Collections Imports System.Collections.Specialized Imports System.ComponentModel Imports System.Data Imports System.Drawing Imports System.Diagnostics Imports System.Web Imports System.IO Imports System.Web.SessionState Imports System.Web.UI Imports System.Web.UI.WebControls Imports System.Web.UI.HtmlControls Imports System.Web.Security Imports System.Text.RegularExpressions Imports System.Globalization Imports Proactive2006 Imports Proactive2006.Data Imports Proactive2006.Security Imports Proactive2006.Configuration Imports Proactive2006.Controls 'End Using Statements
Namespace [SupportRequests_maint] 'Namespace @1-B139F60F
'Forms Definition @1-F98992C3 Public Class [SupportRequests_maintPage] Inherits System.Web.UI.Page 'End Forms Definition
'Forms Objects @1-4C6043DE Protected Header As System.Web.UI.UserControl Protected SupportRequestsData As SupportRequestsDataProvider Protected SupportRequestsError As System.Web.UI.WebControls.PlaceHolder Protected SupportRequestsHolder As System.Web.UI.HtmlControls.HtmlControl Protected SupportRequestsErrorLabel As System.Web.UI.WebControls.Label Protected SupportRequestsErrors As NameValueCollection = New NameValueCollection() Protected SupportRequestsOperations As FormSupportedOperations Protected SupportRequestsRequestDate As System.Web.UI.WebControls.TextBox Protected SupportRequestsStatus As System.Web.UI.HtmlControls.HtmlSelect Protected SupportRequestsAutoUserID As System.Web.UI.HtmlControls.HtmlSelect Protected SupportRequestsLogin As System.Web.UI.HtmlControls.HtmlSelect Protected SupportRequestsFullName As System.Web.UI.HtmlControls.HtmlSelect Protected SupportRequestsLocation As System.Web.UI.HtmlControls.HtmlSelect Protected SupportRequestsDepartment As System.Web.UI.HtmlControls.HtmlSelect Protected SupportRequestsEmailAddr As System.Web.UI.WebControls.TextBox Protected SupportRequestsPhone As System.Web.UI.WebControls.TextBox Protected SupportRequestsCompanyID As System.Web.UI.HtmlControls.HtmlSelect Protected SupportRequestsRequestType As System.Web.UI.HtmlControls.HtmlSelect Protected SupportRequestsRequestCategory As System.Web.UI.HtmlControls.HtmlSelect Protected SupportRequestsSubject As System.Web.UI.WebControls.TextBox Protected SupportRequestsDetails As System.Web.UI.WebControls.TextBox Protected SupportRequestsSeverity As System.Web.UI.HtmlControls.HtmlSelect Protected SupportRequestsNeedByDate As System.Web.UI.WebControls.TextBox Protected SupportRequestsDatePicker_NeedByDate As System.Web.UI.WebControls.PlaceHolder Protected SupportRequestsDatePicker_NeedByDateName As String Protected SupportRequestsDatePicker_NeedByDateDateControl As String Protected SupportRequestsTakenBy As System.Web.UI.HtmlControls.HtmlSelect Protected SupportRequestsAssignedTo As System.Web.UI.HtmlControls.HtmlSelect Protected SupportRequestsCompletedBy As System.Web.UI.HtmlControls.HtmlSelect Protected SupportRequestsActionTaken As System.Web.UI.WebControls.TextBox Protected SupportRequestsTimeToSolve As System.Web.UI.WebControls.TextBox Protected SupportRequestsSolutionType As System.Web.UI.HtmlControls.HtmlSelect Protected SupportRequestsDateCompleted As System.Web.UI.WebControls.TextBox Protected SupportRequestsDatePicker_DateCompleted As System.Web.UI.WebControls.PlaceHolder Protected SupportRequestsDatePicker_DateCompletedName As String Protected SupportRequestsDatePicker_DateCompletedDateControl As String Protected SupportRequestsIssueCost As System.Web.UI.WebControls.TextBox Protected SupportRequestsButton_Insert As System.Web.UI.HtmlControls.HtmlInputImage Protected SupportRequestsButton_Update As System.Web.UI.HtmlControls.HtmlInputImage Protected SupportRequestsButton_Delete As System.Web.UI.HtmlControls.HtmlInputImage Protected SupportRequestsButton_Cancel As System.Web.UI.HtmlControls.HtmlInputImage Protected Footer As System.Web.UI.UserControl Protected rm As System.Resources.ResourceManager Protected HtmlFormClientId As String Protected PageStyleName As String Protected SupportRequests_maintContentMeta As String Protected PageVariables As New NameValueCollection() 'End Forms Objects
'Page_Load Event @1-A2D2CF1E Protected Overrides Sub OnLoad(ByVal e As System.EventArgs) 'End Page_Load Event
'Page_Load Event BeforeIsPostBack @1-F01EBA72 Dim item As PageItem = PageItem.CreateFromHttpRequest() If Not IsPostBack Then Dim PageData As PageDataProvider = New PageDataProvider() PageData.FillItem(item) SupportRequestsShow() End If 'End Page_Load Event BeforeIsPostBack
End Sub 'Page_Load Event tail @1-E31F8E2A
Protected Overrides Sub OnUnload(ByVal e As System.EventArgs) 'Page_Unload Event @1-D998A98F
End Sub 'Page_Unload Event tail @1-E31F8E2A
'Record Form SupportRequests Parameters @37-C37A6A12
Protected Sub SupportRequestsParameters() Dim item As new SupportRequestsItem Try SupportRequestsData.UrlAutoReqID = IntegerParameter.GetParam(Request.QueryString("AutoReqID")) Catch e As Exception SupportRequestsErrors.Add("Parameters","Form Parameters: " + e.Message) End Try End Sub 'End Record Form SupportRequests Parameters
'Record Form SupportRequests Show method @37-D2389F24 Protected Sub SupportRequestsShow() If SupportRequestsOperations.None Then SupportRequestsHolder.Visible = False Return End If Dim item As SupportRequestsItem = SupportRequestsItem.CreateFromHttpRequest() Dim IsInsertMode As Boolean = Not SupportRequestsOperations.AllowRead SupportRequestsErrors.Add(item.errors) If SupportRequestsErrors.Count > 0 Then SupportRequestsShowErrors() Return End If 'End Record Form SupportRequests Show method
'Record Form SupportRequests BeforeShow tail @37-BB16E624 SupportRequestsParameters() SupportRequestsData.FillItem(item, IsInsertMode) SupportRequestsHolder.DataBind() SupportRequestsButton_Insert.Visible=IsInsertMode AndAlso SupportRequestsOperations.AllowInsert SupportRequestsButton_Update.Visible=Not (IsInsertMode) AndAlso SupportRequestsOperations.AllowUpdate SupportRequestsButton_Delete.Visible=Not (IsInsertMode) AndAlso SupportRequestsOperations.AllowDelete SupportRequestsRequestDate.Text=item.RequestDate.GetFormattedValue() SupportRequestsStatus.Items.Add(new ListItem("Select Value","")) SupportRequestsStatus.Items(0).Selected = True item.StatusItems.SetSelection(item.Status.GetFormattedValue()) If Not item.StatusItems.GetSelectedItem() Is Nothing Then SupportRequestsStatus.SelectedIndex = -1 End If item.StatusItems.CopyTo(SupportRequestsStatus.Items) SupportRequestsAutoUserID.Items.Add(new ListItem("Select Value","")) SupportRequestsAutoUserID.Items(0).Selected = True item.AutoUserIDItems.SetSelection(item.AutoUserID.GetFormattedValue()) If Not item.AutoUserIDItems.GetSelectedItem() Is Nothing Then SupportRequestsAutoUserID.SelectedIndex = -1 End If item.AutoUserIDItems.CopyTo(SupportRequestsAutoUserID.Items) SupportRequestsLogin.Items.Add(new ListItem("Select Value","")) SupportRequestsLogin.Items(0).Selected = True item.LoginItems.SetSelection(item.Login.GetFormattedValue()) If Not item.LoginItems.GetSelectedItem() Is Nothing Then SupportRequestsLogin.SelectedIndex = -1 End If item.LoginItems.CopyTo(SupportRequestsLogin.Items) SupportRequestsFullName.Items.Add(new ListItem("Select Value","")) SupportRequestsFullName.Items(0).Selected = True item.FullNameItems.SetSelection(item.FullName.GetFormattedValue()) If Not item.FullNameItems.GetSelectedItem() Is Nothing Then SupportRequestsFullName.SelectedIndex = -1 End If item.FullNameItems.CopyTo(SupportRequestsFullName.Items) SupportRequestsLocation.Items.Add(new ListItem("Select Value","")) SupportRequestsLocation.Items(0).Selected = True item.LocationItems.SetSelection(item.Location.GetFormattedValue()) If Not item.LocationItems.GetSelectedItem() Is Nothing Then SupportRequestsLocation.SelectedIndex = -1 End If item.LocationItems.CopyTo(SupportRequestsLocation.Items) SupportRequestsDepartment.Items.Add(new ListItem("Select Value","")) SupportRequestsDepartment.Items(0).Selected = True item.DepartmentItems.SetSelection(item.Department.GetFormattedValue()) If Not item.DepartmentItems.GetSelectedItem() Is Nothing Then SupportRequestsDepartment.SelectedIndex = -1 End If item.DepartmentItems.CopyTo(SupportRequestsDepartment.Items) SupportRequestsEmailAddr.Text=item.EmailAddr.GetFormattedValue() SupportRequestsPhone.Text=item.Phone.GetFormattedValue() SupportRequestsCompanyID.Items.Add(new ListItem("Select Value","")) SupportRequestsCompanyID.Items(0).Selected = True item.CompanyIDItems.SetSelection(item.CompanyID.GetFormattedValue()) If Not item.CompanyIDItems.GetSelectedItem() Is Nothing Then SupportRequestsCompanyID.SelectedIndex = -1 End If item.CompanyIDItems.CopyTo(SupportRequestsCompanyID.Items) SupportRequestsRequestType.Items.Add(new ListItem("Select Value","")) SupportRequestsRequestType.Items(0).Selected = True item.RequestTypeItems.SetSelection(item.RequestType.GetFormattedValue()) If Not item.RequestTypeItems.GetSelectedItem() Is Nothing Then SupportRequestsRequestType.SelectedIndex = -1 End If item.RequestTypeItems.CopyTo(SupportRequestsRequestType.Items) SupportRequestsRequestCategory.Items.Add(new ListItem("Select Value","")) SupportRequestsRequestCategory.Items(0).Selected = True item.RequestCategoryItems.SetSelection(item.RequestCategory.GetFormattedValue()) If Not item.RequestCategoryItems.GetSelectedItem() Is Nothing Then SupportRequestsRequestCategory.SelectedIndex = -1 End If item.RequestCategoryItems.CopyTo(SupportRequestsRequestCategory.Items) SupportRequestsSubject.Text=item.Subject.GetFormattedValue() SupportRequestsDetails.Text=item.Details.GetFormattedValue() SupportRequestsSeverity.Items.Add(new ListItem("Select Value","")) SupportRequestsSeverity.Items(0).Selected = True item.SeverityItems.SetSelection(item.Severity.GetFormattedValue()) If Not item.SeverityItems.GetSelectedItem() Is Nothing Then SupportRequestsSeverity.SelectedIndex = -1 End If item.SeverityItems.CopyTo(SupportRequestsSeverity.Items) SupportRequestsNeedByDate.Text=item.NeedByDate.GetFormattedValue() SupportRequestsDatePicker_NeedByDateName = "SupportRequestsDatePicker_NeedByDate" SupportRequestsDatePicker_NeedByDateDateControl = SupportRequestsNeedByDate.ClientID SupportRequestsDatePicker_NeedByDate.DataBind() SupportRequestsTakenBy.Items.Add(new ListItem("Select Value","")) SupportRequestsTakenBy.Items(0).Selected = True item.TakenByItems.SetSelection(item.TakenBy.GetFormattedValue()) If Not item.TakenByItems.GetSelectedItem() Is Nothing Then SupportRequestsTakenBy.SelectedIndex = -1 End If item.TakenByItems.CopyTo(SupportRequestsTakenBy.Items) SupportRequestsAssignedTo.Items.Add(new ListItem("Select Value","")) SupportRequestsAssignedTo.Items(0).Selected = True item.AssignedToItems.SetSelection(item.AssignedTo.GetFormattedValue()) If Not item.AssignedToItems.GetSelectedItem() Is Nothing Then SupportRequestsAssignedTo.SelectedIndex = -1 End If item.AssignedToItems.CopyTo(SupportRequestsAssignedTo.Items) SupportRequestsCompletedBy.Items.Add(new ListItem("Select Value","")) SupportRequestsCompletedBy.Items(0).Selected = True item.CompletedByItems.SetSelection(item.CompletedBy.GetFormattedValue()) If Not item.CompletedByItems.GetSelectedItem() Is Nothing Then SupportRequestsCompletedBy.SelectedIndex = -1 End If item.CompletedByItems.CopyTo(SupportRequestsCompletedBy.Items) SupportRequestsActionTaken.Text=item.ActionTaken.GetFormattedValue() SupportRequestsTimeToSolve.Text=item.TimeToSolve.GetFormattedValue() SupportRequestsSolutionType.Items.Add(new ListItem("Select Value","")) SupportRequestsSolutionType.Items(0).Selected = True item.SolutionTypeItems.SetSelection(item.SolutionType.GetFormattedValue()) If Not item.SolutionTypeItems.GetSelectedItem() Is Nothing Then SupportRequestsSolutionType.SelectedIndex = -1 End If item.SolutionTypeItems.CopyTo(SupportRequestsSolutionType.Items) SupportRequestsDateCompleted.Text=item.DateCompleted.GetFormattedValue() SupportRequestsDatePicker_DateCompletedName = "SupportRequestsDatePicker_DateCompleted" SupportRequestsDatePicker_DateCompletedDateControl = SupportRequestsDateCompleted.ClientID SupportRequestsDatePicker_DateCompleted.DataBind() SupportRequestsIssueCost.Text=item.IssueCost.GetFormattedValue() 'End Record Form SupportRequests BeforeShow tail
'Record Form SupportRequests Show method tail @37-1A8036CA If SupportRequestsErrors.Count > 0 Then SupportRequestsShowErrors() End If End Sub 'End Record Form SupportRequests Show method tail
'Record Form SupportRequests LoadItemFromRequest method @37-7A78D77B
Protected Sub SupportRequestsLoadItemFromRequest(item As SupportRequestsItem, ByVal EnableValidation As Boolean) Try item.RequestDate.SetValue(SupportRequestsRequestDate.Text) Catch ae As ArgumentException SupportRequestsErrors.Add("RequestDate",String.Format(rm.GetString("CCS_IncorrectFormat"),"Request Date","mm/dd/yyyy h:nn AM/PM")) End Try item.Status.SetValue(SupportRequestsStatus.Value) item.StatusItems.CopyFrom(SupportRequestsStatus.Items) Try item.AutoUserID.SetValue(SupportRequestsAutoUserID.Value) item.AutoUserIDItems.CopyFrom(SupportRequestsAutoUserID.Items) Catch ae As ArgumentException SupportRequestsErrors.Add("AutoUserID",String.Format(rm.GetString("CCS_IncorrectValue"),"Auto User ID")) End Try item.Login.SetValue(SupportRequestsLogin.Value) item.LoginItems.CopyFrom(SupportRequestsLogin.Items) item.FullName.SetValue(SupportRequestsFullName.Value) item.FullNameItems.CopyFrom(SupportRequestsFullName.Items) item.Location.SetValue(SupportRequestsLocation.Value) item.LocationItems.CopyFrom(SupportRequestsLocation.Items) item.Department.SetValue(SupportRequestsDepartment.Value) item.DepartmentItems.CopyFrom(SupportRequestsDepartment.Items) item.EmailAddr.SetValue(SupportRequestsEmailAddr.Text) item.Phone.SetValue(SupportRequestsPhone.Text) Try item.CompanyID.SetValue(SupportRequestsCompanyID.Value) item.CompanyIDItems.CopyFrom(SupportRequestsCompanyID.Items) Catch ae As ArgumentException SupportRequestsErrors.Add("CompanyID",String.Format(rm.GetString("CCS_IncorrectValue"),"Company ID")) End Try item.RequestType.SetValue(SupportRequestsRequestType.Value) item.RequestTypeItems.CopyFrom(SupportRequestsRequestType.Items) item.RequestCategory.SetValue(SupportRequestsRequestCategory.Value) item.RequestCategoryItems.CopyFrom(SupportRequestsRequestCategory.Items) item.Subject.SetValue(SupportRequestsSubject.Text) item.Details.SetValue(SupportRequestsDetails.Text) item.Severity.SetValue(SupportRequestsSeverity.Value) item.SeverityItems.CopyFrom(SupportRequestsSeverity.Items) Try item.NeedByDate.SetValue(SupportRequestsNeedByDate.Text) Catch ae As ArgumentException SupportRequestsErrors.Add("NeedByDate",String.Format(rm.GetString("CCS_IncorrectFormat"),"Need By Date","mm/dd/yyyy h:nn AM/PM")) End Try item.TakenBy.SetValue(SupportRequestsTakenBy.Value) item.TakenByItems.CopyFrom(SupportRequestsTakenBy.Items) item.AssignedTo.SetValue(SupportRequestsAssignedTo.Value) item.AssignedToItems.CopyFrom(SupportRequestsAssignedTo.Items) item.CompletedBy.SetValue(SupportRequestsCompletedBy.Value) item.CompletedByItems.CopyFrom(SupportRequestsCompletedBy.Items) item.ActionTaken.SetValue(SupportRequestsActionTaken.Text) Try item.TimeToSolve.SetValue(SupportRequestsTimeToSolve.Text) Catch ae As ArgumentException SupportRequestsErrors.Add("TimeToSolve",String.Format(rm.GetString("CCS_IncorrectValue"),"Time To Solve")) End Try item.SolutionType.SetValue(SupportRequestsSolutionType.Value) item.SolutionTypeItems.CopyFrom(SupportRequestsSolutionType.Items) Try item.DateCompleted.SetValue(SupportRequestsDateCompleted.Text) Catch ae As ArgumentException SupportRequestsErrors.Add("DateCompleted",String.Format(rm.GetString("CCS_IncorrectFormat"),"Date Completed","mm/dd/yyyy h:nn AM/PM")) End Try Try item.IssueCost.SetValue(SupportRequestsIssueCost.Text) Catch ae As ArgumentException SupportRequestsErrors.Add("IssueCost",String.Format(rm.GetString("CCS_IncorrectValue"),"Issue Cost")) End Try If EnableValidation Then item.Validate(SupportRequestsData) End If SupportRequestsErrors.Add(item.errors) End Sub 'End Record Form SupportRequests LoadItemFromRequest method
'Record Form SupportRequests GetRedirectUrl method @37-67A082AE
Protected Function GetSupportRequestsRedirectUrl(ByVal redirect As String, ByVal removeList As String) As String Dim parameters As New LinkParameterCollection() If redirect = "" Then redirect = "SupportRequests_list.aspx" Dim p As String = parameters.ToString("GET",removeList,ViewState) If p = "" Then p = "?" Return redirect + p End Function 'End Record Form SupportRequests GetRedirectUrl method
'Record Form SupportRequests ShowErrors method @37-87B4EDF0
Protected Sub SupportRequestsShowErrors() Dim DefaultMessage As String = "" Dim i As Integer For i = 0 To SupportRequestsErrors.Count - 1 Select Case SupportRequestsErrors.AllKeys(i) Case Else If DefaultMessage <> "" Then DefaultMessage &= "<br>" DefaultMessage = DefaultMessage & SupportRequestsErrors(i) End Select Next i SupportRequestsError.Visible = True SupportRequestsErrorLabel.Text = DefaultMessage End Sub 'End Record Form SupportRequests ShowErrors method
'Record Form SupportRequests Insert Operation @37-F5C30A43
Protected Sub SupportRequests_Insert(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Dim item As SupportRequestsItem = New SupportRequestsItem() Dim ExecuteFlag As Boolean = True Dim ErrorFlag As Boolean = False Dim RedirectUrl As String = "" Dim EnableValidation As Boolean = False 'End Record Form SupportRequests Insert Operation
'Button Button_Insert OnClick. @38-2829397F If CType(sender,Control).ID = "SupportRequestsButton_Insert" Then RedirectUrl = GetSupportRequestsRedirectUrl("", "") EnableValidation = True 'End Button Button_Insert OnClick.
'Button Button_Insert OnClick tail. @38-477CF3C9 End If 'End Button Button_Insert OnClick tail.
'Record Form SupportRequests BeforeInsert tail @37-0FC7B1FC SupportRequestsParameters() SupportRequestsLoadItemFromRequest(item, EnableValidation) If SupportRequestsOperations.AllowInsert Then ErrorFlag=(SupportRequestsErrors.Count > 0) If ExecuteFlag And (Not ErrorFlag) Then Try SupportRequestsData.InsertItem(item) Catch ex As Exception SupportRequestsErrors.Add("DataProvider",ex.Message) ErrorFlag = True End Try End If 'End Record Form SupportRequests BeforeInsert tail
'Record Form SupportRequests AfterInsert tail @37-7A4BD8C3 End If ErrorFlag=(SupportRequestsErrors.Count > 0) If ErrorFlag Then SupportRequestsShowErrors() Else Response.Redirect(RedirectUrl) End If End Sub 'End Record Form SupportRequests AfterInsert tail
'Record Form SupportRequests Update Operation @37-47704411
Protected Sub SupportRequests_Update(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Dim item As SupportRequestsItem = New SupportRequestsItem() item.IsNew = False Dim ExecuteFlag As Boolean = True Dim ErrorFlag As Boolean = False Dim RedirectUrl As String = "" Dim EnableValidation As Boolean = False 'End Record Form SupportRequests Update Operation
'Button Button_Update OnClick. @39-C9479521 If CType(sender,Control).ID = "SupportRequestsButton_Update" Then RedirectUrl = GetSupportRequestsRedirectUrl("", "") EnableValidation = True 'End Button Button_Update OnClick.
'Button Button_Update OnClick tail. @39-477CF3C9 End If 'End Button Button_Update OnClick tail.
'Record Form SupportRequests Before Update tail @37-06E78D90 SupportRequestsParameters() SupportRequestsLoadItemFromRequest(item, EnableValidation) If SupportRequestsOperations.AllowUpdate Then ErrorFlag = (SupportRequestsErrors.Count > 0) If ExecuteFlag And (Not ErrorFlag) Then Try SupportRequestsData.UpdateItem(item) Catch ex As Exception SupportRequestsErrors.Add("DataProvider",ex.Message) ErrorFlag = True End Try End If 'End Record Form SupportRequests Before Update tail
'Record Form SupportRequests Update Operation tail @37-7A4BD8C3 End If ErrorFlag=(SupportRequestsErrors.Count > 0) If ErrorFlag Then SupportRequestsShowErrors() Else Response.Redirect(RedirectUrl) End If End Sub 'End Record Form SupportRequests Update Operation tail
'Record Form SupportRequests Delete Operation @37-2F130330 Protected Sub SupportRequests_Delete(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Dim ExecuteFlag As Boolean = True Dim ErrorFlag As Boolean = False Dim RedirectUrl As String = "" Dim EnableValidation As Boolean = False Dim item As SupportRequestsItem = New SupportRequestsItem() item.IsNew = False item.IsDeleted = True 'End Record Form SupportRequests Delete Operation
'Button Button_Delete OnClick. @40-F4764C21 If CType(sender,Control).ID = "SupportRequestsButton_Delete" Then RedirectUrl = GetSupportRequestsRedirectUrl("", "") EnableValidation = False 'End Button Button_Delete OnClick.
'Button Button_Delete OnClick tail. @40-477CF3C9 End If 'End Button Button_Delete OnClick tail.
'Record Form BeforeDelete tail @37-B587A598 SupportRequestsParameters() SupportRequestsLoadItemFromRequest(item, EnableValidation) If SupportRequestsOperations.AllowDelete Then ErrorFlag = (SupportRequestsErrors.Count > 0) If ExecuteFlag And (Not ErrorFlag) Then Try SupportRequestsData.DeleteItem(item) Catch ex As Exception SupportRequestsErrors.Add("DataProvider",ex.Message) ErrorFlag = True End Try End If 'End Record Form BeforeDelete tail
'Record Form AfterDelete tail @37-D79FA1C3 End If If ErrorFlag Then SupportRequestsShowErrors() Else Response.Redirect(RedirectUrl) End If End Sub 'End Record Form AfterDelete tail
'Record Form SupportRequests Cancel Operation @37-B90A37EC
Protected Sub SupportRequests_Cancel(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Dim item As SupportRequestsItem = New SupportRequestsItem() Dim RedirectUrl As String = "" SupportRequestsLoadItemFromRequest(item, False) 'End Record Form SupportRequests Cancel Operation
'Button Button_Cancel OnClick. @42-4F6F6E57 If CType(sender,Control).ID = "SupportRequestsButton_Cancel" Then RedirectUrl = GetSupportRequestsRedirectUrl("", "") 'End Button Button_Cancel OnClick.
'Button Button_Cancel OnClick tail. @42-477CF3C9 End If 'End Button Button_Cancel OnClick tail.
'Record Form SupportRequests Cancel Operation tail @37-EA2B0FFB Response.Redirect(RedirectUrl) End Sub 'End Record Form SupportRequests Cancel Operation tail
'OnInit Event @1-BC24AB68 #Region " Web Form Designer Generated Code " Protected Overrides Sub OnInit(ByVal e As EventArgs) Dim i As Integer For i = 0 To Page.Controls.Count - 1 If TypeOf Page.Controls(i) Is HtmlForm Then HtmlFormClientId = Page.Controls(i).ClientID Next rm = CType(Application("rm"),System.Resources.ResourceManager) Utility.SetThreadCulture() PageStyleName = Utility.GetPageStyle() SupportRequests_maintContentMeta = "text/html; charset=" + CType(System.Threading.Thread.CurrentThread.CurrentCulture,CCSCultureInfo).Encoding If Application(Request.PhysicalPath) Is Nothing Then Application.Add(Request.PhysicalPath,Response.ContentEncoding.WebName) End If InitializeComponent() MyBase.OnInit(e) SupportRequestsData = New SupportRequestsDataProvider() SupportRequestsOperations = New FormSupportedOperations(False, True, True, True, True) If Not(DBUtility.AuthorizeUser(New String(){"1"})) Then Response.Redirect(Settings.AccessDeniedUrl & "?ret_link=" & Server.UrlEncode(Request("SCRIPT_NAME") & "?" & Request("QUERY_STRING"))) End If 'End OnInit Event
'OnInit Event tail @1-BB95D25C PageStyleName = Server.UrlEncode(PageStyleName) End Sub 'End OnInit Event tail
'InitializeComponent Event @1-EA5E2628 ' <summary> ' Required method for Designer support - do not modify ' the contents of this method with the code editor. ' </summary> Private Sub InitializeComponent() End Sub #End Region 'End InitializeComponent Event
'Page class tail @1-DD082417 End Class End Namespace 'End Page class tail
prateek srivastava
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
hi.. i'm a newbie to the asp.net world.. i want to try out this code.. but i cant understand abt the smart host concept.. what should we give in that field? the system's help manual says- enter ur FQDN name or IP address.the mail service will first check the smart host and then only it'll go to the external service..like that..
and the author said to ping.. i tried lot of guesses,but none is a valid one.. can anyone tell me how to find the "smart host" name of my system..
advance thanks... 
|
| Sign In·View Thread·PermaLink | 2.00/5 |
|
|
|
 |
|
|
 |
|
 |
Hi, I need to add this functionality in my site for an indian client please let me know how i can get the carriers in india. Thanx in advance.
|
| Sign In·View Thread·PermaLink | 1.20/5 |
|
|
|
 |
|
 |
I want to strive to send mail to my recipients by your instructions but it is generate an error: with falure sending mail.
Plz help me as this regard.
|
| Sign In·View Thread·PermaLink | 2.50/5 |
|
|
|
 |
|
 |
Hi..
As per the material i have done it, but its showing message like it has been send but iam not received any sms... can u pls help me
krishna
|
| Sign In·View Thread·PermaLink | 3.00/5 |
|
|
|
 |
|
 |
Hi, you did a great job. I'm just learning .NET and I had no problems getting the email feature to work.
King
|
| Sign In·View Thread·PermaLink | 2.33/5 |
|
|
|
 |
|
|
 |
|
|
 |
|
 |
Can u please explain me forgot your password . We have to enter email id and password is sene to us. I want a code for that.
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
Hi
Please help me To i kept all email address such as x....@yahoo.com, ....@gmail.com etc., It is giving an exception(SMTP) i have smtp connection.
Sms also an exception.
|
| Sign In·View Thread·PermaLink | 2.33/5 |
|
|
|
 |
|
 |
Hey You need to add your credentials to the client if you want to send email through Google. You need to add this to the Web.Config file.
<system.net> <mailSettings> <smtp> <network host="smtp.gmail.com" port="495" or "589" (I believe. If you login to GMail, you can look this up) userName="youremail@gmail.com" password="your Gmail password" /> </smtp> </mailSettings> </system.net>
If you want to send out an email using your Yahoo mail, you need to first signup for Yahoo Plus I believe to get their SMTP server. Then add your credentials in the System.Net section of your web.config file like in the example above. If this case your Yahoo mail ID and password.
Once these steps are done, you will be able to send an email.
This step was added thanks to all the spammers who used Javascript to send mass emails.
Vamsi Krishna Pulavarthi
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
I am a little bit confused.
I thought with IIS virtual smtp server you will not need an email server. There needs to be a real Email Server at all?
Thanks
|
| Sign In·View Thread·PermaLink | 1.00/5 |
|
|
|
 |
|
 |
it can send to external mail, like yahoo or gmail.. but cannot go to the internal mail. any idea to resolve it? thx for any advance help
|
| Sign In·View Thread·PermaLink | 2.20/5 |
|
|
|
 |
|
 |
I have my frist stmp vb code as follow:
Imports System.Net.Mail Imports System.Exception Imports System.Net.Mail.SmtpException
Dim mail As New MailMessage()
mail.From = New MailAddress("abc@hotmail.com") mail.To.Add("ab_c@hotmail.com") mail.Body = " test" mail.IsBodyHtml = True
Dim smtp As New SmtpClient("127.0.0.1") Try smtp.Send(mail) MessageBox.Show("The mail message has been sent to " & mail.To.ToString()) Catch ex As SmtpException MessageBox.Show(ex.Message) Catch ex As Exception MessageBox.Show(ex.Message) End Try
ab_c@hotmail.com is wrong recipient mail address. I received Delivery Failure Reports in my original mail box. But program does not go into exception potion. What is wrong with my code? your advice is very much appreciate.
When I give correct recipient mail address, mail is able to delivery successfully.
|
| Sign In·View Thread·PermaLink | 5.00/5 |
|
|
|
 |
 | Help  Nirav Pate ! | 2:22 27 Jul '07 |
|
|
 |
|
 |
hi i would like to know whether this program can be used in SIngapore and i want to know how you get the carriers. I am doing this for my project so please help me as soon as possible. as i am a begginer.
thanks
|
| Sign In·View Thread·PermaLink | |
|
|
|
 |
|
 |
Certainly it will work in Singapore. I don't have a huge list of options for that location, however, this might be of some help to you (where the X's are the telephone number).
MiWorld xxxxxxxxx@m1.com.sg Mobileone xxxxxxxxx@m1.com.sg
|
| Sign In·View Thread·PermaLink | 2.00/5 |
|
|
|
 |
|
|