Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Net / System / Net / Mail / SmtpException.cs / 1305376 / SmtpException.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Net.Mail
{
using System;
using System.Diagnostics.CodeAnalysis;
using System.Runtime.Serialization;
using System.Security.Permissions;
[Serializable]
public class SmtpException : Exception, ISerializable
{
SmtpStatusCode statusCode = SmtpStatusCode.GeneralFailure;
static string GetMessageForStatus(SmtpStatusCode statusCode, string serverResponse)
{
return GetMessageForStatus(statusCode)+" "+SR.GetString(SR.MailServerResponse,serverResponse);
}
static string GetMessageForStatus(SmtpStatusCode statusCode)
{
switch (statusCode)
{
default :
case SmtpStatusCode.CommandUnrecognized:
return SR.GetString(SR.SmtpCommandUnrecognized);
case SmtpStatusCode.SyntaxError:
return SR.GetString(SR.SmtpSyntaxError);
case SmtpStatusCode.CommandNotImplemented:
return SR.GetString(SR.SmtpCommandNotImplemented);
case SmtpStatusCode.BadCommandSequence:
return SR.GetString(SR.SmtpBadCommandSequence);
case SmtpStatusCode.CommandParameterNotImplemented:
return SR.GetString(SR.SmtpCommandParameterNotImplemented);
case SmtpStatusCode.SystemStatus:
return SR.GetString(SR.SmtpSystemStatus);
case SmtpStatusCode.HelpMessage:
return SR.GetString(SR.SmtpHelpMessage);
case SmtpStatusCode.ServiceReady:
return SR.GetString(SR.SmtpServiceReady);
case SmtpStatusCode.ServiceClosingTransmissionChannel:
return SR.GetString(SR.SmtpServiceClosingTransmissionChannel);
case SmtpStatusCode.ServiceNotAvailable:
return SR.GetString(SR.SmtpServiceNotAvailable);
case SmtpStatusCode.Ok:
return SR.GetString(SR.SmtpOK);
case SmtpStatusCode.UserNotLocalWillForward:
return SR.GetString(SR.SmtpUserNotLocalWillForward);
case SmtpStatusCode.MailboxBusy:
return SR.GetString(SR.SmtpMailboxBusy);
case SmtpStatusCode.MailboxUnavailable:
return SR.GetString(SR.SmtpMailboxUnavailable);
case SmtpStatusCode.LocalErrorInProcessing:
return SR.GetString(SR.SmtpLocalErrorInProcessing);
case SmtpStatusCode.UserNotLocalTryAlternatePath:
return SR.GetString(SR.SmtpUserNotLocalTryAlternatePath);
case SmtpStatusCode.InsufficientStorage:
return SR.GetString(SR.SmtpInsufficientStorage);
case SmtpStatusCode.ExceededStorageAllocation:
return SR.GetString(SR.SmtpExceededStorageAllocation);
case SmtpStatusCode.MailboxNameNotAllowed:
return SR.GetString(SR.SmtpMailboxNameNotAllowed);
case SmtpStatusCode.StartMailInput:
return SR.GetString(SR.SmtpStartMailInput);
case SmtpStatusCode.TransactionFailed:
return SR.GetString(SR.SmtpTransactionFailed);
case SmtpStatusCode.ClientNotPermitted:
return SR.GetString(SR.SmtpClientNotPermitted);
case SmtpStatusCode.MustIssueStartTlsFirst:
return SR.GetString(SR.SmtpMustIssueStartTlsFirst);
}
}
public SmtpException(SmtpStatusCode statusCode) : base(GetMessageForStatus(statusCode))
{
this.statusCode = statusCode;
}
public SmtpException(SmtpStatusCode statusCode, string message) : base(message)
{
this.statusCode = statusCode;
}
public SmtpException() : this(SmtpStatusCode.GeneralFailure)
{
}
public SmtpException(string message) : base(message)
{
}
public SmtpException(string message, Exception innerException) : base(message, innerException)
{
}
protected SmtpException(SerializationInfo serializationInfo, StreamingContext streamingContext) : base (serializationInfo, streamingContext)
{
statusCode = (SmtpStatusCode)serializationInfo.GetInt32("Status");
}
internal SmtpException(SmtpStatusCode statusCode, string serverMessage, bool serverResponse) : base(GetMessageForStatus(statusCode,serverMessage))
{
this.statusCode = statusCode;
}
internal SmtpException(string message, string serverResponse) : base(message+" "+SR.GetString(SR.MailServerResponse,serverResponse))
{
}
///
[SuppressMessage("Microsoft.Security", "CA2123:OverrideLinkDemandsShouldBeIdenticalToBase", Justification = "System.dll is still using pre-v4 security model and needs this demand")]
[SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.SerializationFormatter)]
void ISerializable.GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext) {
GetObjectData(serializationInfo, streamingContext);
}
[SuppressMessage("Microsoft.Security", "CA2123:OverrideLinkDemandsShouldBeIdenticalToBase", Justification = "System.dll is still using pre-v4 security model and needs this demand")]
[SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.SerializationFormatter)]
public override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext){
base.GetObjectData(serializationInfo, streamingContext);
serializationInfo.AddValue("Status", (int)statusCode, typeof(int));
}
public SmtpStatusCode StatusCode
{
get {
return this.statusCode;
}
set {
statusCode = value;
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Net.Mail
{
using System;
using System.Diagnostics.CodeAnalysis;
using System.Runtime.Serialization;
using System.Security.Permissions;
[Serializable]
public class SmtpException : Exception, ISerializable
{
SmtpStatusCode statusCode = SmtpStatusCode.GeneralFailure;
static string GetMessageForStatus(SmtpStatusCode statusCode, string serverResponse)
{
return GetMessageForStatus(statusCode)+" "+SR.GetString(SR.MailServerResponse,serverResponse);
}
static string GetMessageForStatus(SmtpStatusCode statusCode)
{
switch (statusCode)
{
default :
case SmtpStatusCode.CommandUnrecognized:
return SR.GetString(SR.SmtpCommandUnrecognized);
case SmtpStatusCode.SyntaxError:
return SR.GetString(SR.SmtpSyntaxError);
case SmtpStatusCode.CommandNotImplemented:
return SR.GetString(SR.SmtpCommandNotImplemented);
case SmtpStatusCode.BadCommandSequence:
return SR.GetString(SR.SmtpBadCommandSequence);
case SmtpStatusCode.CommandParameterNotImplemented:
return SR.GetString(SR.SmtpCommandParameterNotImplemented);
case SmtpStatusCode.SystemStatus:
return SR.GetString(SR.SmtpSystemStatus);
case SmtpStatusCode.HelpMessage:
return SR.GetString(SR.SmtpHelpMessage);
case SmtpStatusCode.ServiceReady:
return SR.GetString(SR.SmtpServiceReady);
case SmtpStatusCode.ServiceClosingTransmissionChannel:
return SR.GetString(SR.SmtpServiceClosingTransmissionChannel);
case SmtpStatusCode.ServiceNotAvailable:
return SR.GetString(SR.SmtpServiceNotAvailable);
case SmtpStatusCode.Ok:
return SR.GetString(SR.SmtpOK);
case SmtpStatusCode.UserNotLocalWillForward:
return SR.GetString(SR.SmtpUserNotLocalWillForward);
case SmtpStatusCode.MailboxBusy:
return SR.GetString(SR.SmtpMailboxBusy);
case SmtpStatusCode.MailboxUnavailable:
return SR.GetString(SR.SmtpMailboxUnavailable);
case SmtpStatusCode.LocalErrorInProcessing:
return SR.GetString(SR.SmtpLocalErrorInProcessing);
case SmtpStatusCode.UserNotLocalTryAlternatePath:
return SR.GetString(SR.SmtpUserNotLocalTryAlternatePath);
case SmtpStatusCode.InsufficientStorage:
return SR.GetString(SR.SmtpInsufficientStorage);
case SmtpStatusCode.ExceededStorageAllocation:
return SR.GetString(SR.SmtpExceededStorageAllocation);
case SmtpStatusCode.MailboxNameNotAllowed:
return SR.GetString(SR.SmtpMailboxNameNotAllowed);
case SmtpStatusCode.StartMailInput:
return SR.GetString(SR.SmtpStartMailInput);
case SmtpStatusCode.TransactionFailed:
return SR.GetString(SR.SmtpTransactionFailed);
case SmtpStatusCode.ClientNotPermitted:
return SR.GetString(SR.SmtpClientNotPermitted);
case SmtpStatusCode.MustIssueStartTlsFirst:
return SR.GetString(SR.SmtpMustIssueStartTlsFirst);
}
}
public SmtpException(SmtpStatusCode statusCode) : base(GetMessageForStatus(statusCode))
{
this.statusCode = statusCode;
}
public SmtpException(SmtpStatusCode statusCode, string message) : base(message)
{
this.statusCode = statusCode;
}
public SmtpException() : this(SmtpStatusCode.GeneralFailure)
{
}
public SmtpException(string message) : base(message)
{
}
public SmtpException(string message, Exception innerException) : base(message, innerException)
{
}
protected SmtpException(SerializationInfo serializationInfo, StreamingContext streamingContext) : base (serializationInfo, streamingContext)
{
statusCode = (SmtpStatusCode)serializationInfo.GetInt32("Status");
}
internal SmtpException(SmtpStatusCode statusCode, string serverMessage, bool serverResponse) : base(GetMessageForStatus(statusCode,serverMessage))
{
this.statusCode = statusCode;
}
internal SmtpException(string message, string serverResponse) : base(message+" "+SR.GetString(SR.MailServerResponse,serverResponse))
{
}
///
[SuppressMessage("Microsoft.Security", "CA2123:OverrideLinkDemandsShouldBeIdenticalToBase", Justification = "System.dll is still using pre-v4 security model and needs this demand")]
[SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.SerializationFormatter)]
void ISerializable.GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext) {
GetObjectData(serializationInfo, streamingContext);
}
[SuppressMessage("Microsoft.Security", "CA2123:OverrideLinkDemandsShouldBeIdenticalToBase", Justification = "System.dll is still using pre-v4 security model and needs this demand")]
[SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.SerializationFormatter)]
public override void GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext){
base.GetObjectData(serializationInfo, streamingContext);
serializationInfo.AddValue("Status", (int)statusCode, typeof(int));
}
public SmtpStatusCode StatusCode
{
get {
return this.statusCode;
}
set {
statusCode = value;
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- EventProviderClassic.cs
- MissingSatelliteAssemblyException.cs
- Command.cs
- ChineseLunisolarCalendar.cs
- TranslateTransform3D.cs
- PopupControlService.cs
- TextWriterTraceListener.cs
- SymbolTable.cs
- FrameworkContentElement.cs
- ScriptModule.cs
- OracleColumn.cs
- LockRecursionException.cs
- InternalsVisibleToAttribute.cs
- InfoCardRSAPKCS1SignatureFormatter.cs
- Misc.cs
- HtmlHistory.cs
- RectKeyFrameCollection.cs
- StrongNamePublicKeyBlob.cs
- EnumUnknown.cs
- RequestCache.cs
- SchemaNames.cs
- GlyphingCache.cs
- GraphicsContainer.cs
- PointAnimation.cs
- _HelperAsyncResults.cs
- DbConnectionFactory.cs
- _emptywebproxy.cs
- documentation.cs
- ISAPIRuntime.cs
- ThreadExceptionEvent.cs
- Repeater.cs
- BaseParagraph.cs
- DBDataPermissionAttribute.cs
- GenericArgumentsUpdater.cs
- WebHttpBindingCollectionElement.cs
- WebPartMovingEventArgs.cs
- Int32Rect.cs
- ExportFileRequest.cs
- SortableBindingList.cs
- CodeActivityMetadata.cs
- RequestUriProcessor.cs
- Comparer.cs
- ColorAnimationUsingKeyFrames.cs
- XslNumber.cs
- Polygon.cs
- SymmetricCryptoHandle.cs
- MsmqChannelListenerBase.cs
- PlaceHolder.cs
- InfocardClientCredentials.cs
- CodeLinePragma.cs
- Variant.cs
- Hashtable.cs
- WebServiceClientProxyGenerator.cs
- PathSegmentCollection.cs
- CapabilitiesAssignment.cs
- Repeater.cs
- HTTPNotFoundHandler.cs
- ConnectionStringsSection.cs
- ConnectionInterfaceCollection.cs
- Literal.cs
- DispatcherHookEventArgs.cs
- PrtTicket_Public_Simple.cs
- LinkLabel.cs
- LocalFileSettingsProvider.cs
- BindingMemberInfo.cs
- LabelAutomationPeer.cs
- DrawListViewSubItemEventArgs.cs
- Mouse.cs
- NumericUpDownAcceleration.cs
- Variable.cs
- DocComment.cs
- GlyphInfoList.cs
- SystemIPGlobalStatistics.cs
- XmlHierarchyData.cs
- DeploymentSection.cs
- EnlistmentState.cs
- InstanceDataCollection.cs
- ExpressionList.cs
- HtmlForm.cs
- NullExtension.cs
- InstanceDescriptor.cs
- NodeLabelEditEvent.cs
- UnsafeNativeMethods.cs
- DeleteIndexBinder.cs
- KeyValueConfigurationElement.cs
- XmlTextReaderImplHelpers.cs
- ColorMatrix.cs
- XPathDocumentBuilder.cs
- PerformanceCounter.cs
- SessionStateUtil.cs
- RtfToken.cs
- DrawingCollection.cs
- ContentFilePart.cs
- HtmlAnchor.cs
- unsafenativemethodsother.cs
- KoreanCalendar.cs
- SystemResourceKey.cs
- FactoryGenerator.cs
- ComponentEditorPage.cs
- EdmToObjectNamespaceMap.cs