Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Net / System / Net / Mail / SmtpException.cs / 1 / SmtpException.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Net.Mail { using System; 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)) { } ///[SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.SerializationFormatter)] void ISerializable.GetObjectData(SerializationInfo serializationInfo, StreamingContext streamingContext) { GetObjectData(serializationInfo, streamingContext); } [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; } } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- WorkflowElementDialog.cs
- input.cs
- DoubleAverageAggregationOperator.cs
- RelatedCurrencyManager.cs
- FileAuthorizationModule.cs
- FormCollection.cs
- Collection.cs
- CodeCatchClauseCollection.cs
- ProjectionCamera.cs
- GestureRecognitionResult.cs
- NotifyIcon.cs
- GacUtil.cs
- CollectionViewGroup.cs
- PropertyEmitterBase.cs
- ObjectNotFoundException.cs
- CodeNamespace.cs
- MessageQueueKey.cs
- EmissiveMaterial.cs
- ProfileEventArgs.cs
- MessagingDescriptionAttribute.cs
- SqlWebEventProvider.cs
- InfoCardTraceRecord.cs
- DataRecordObjectView.cs
- UInt16Converter.cs
- WebPartTransformerCollection.cs
- ChannelEndpointElementCollection.cs
- WebErrorHandler.cs
- ListBindableAttribute.cs
- NativeObjectSecurity.cs
- PropertyIDSet.cs
- AssemblyName.cs
- TextAction.cs
- SQLInt64Storage.cs
- FontStyleConverter.cs
- LinkedResourceCollection.cs
- SafeFileMappingHandle.cs
- StrongNameUtility.cs
- KeyValueConfigurationElement.cs
- NameValueConfigurationElement.cs
- UDPClient.cs
- XamlReader.cs
- ClientTargetSection.cs
- path.cs
- MSAAEventDispatcher.cs
- BrushProxy.cs
- PageThemeParser.cs
- IndexOutOfRangeException.cs
- HebrewNumber.cs
- BaseParaClient.cs
- PolyQuadraticBezierSegment.cs
- Exceptions.cs
- BinHexEncoder.cs
- WebPartEventArgs.cs
- JsonWriterDelegator.cs
- coordinator.cs
- XhtmlConformanceSection.cs
- DetailsView.cs
- IntermediatePolicyValidator.cs
- RectangleGeometry.cs
- WebPartsPersonalizationAuthorization.cs
- DatagridviewDisplayedBandsData.cs
- FilteredXmlReader.cs
- Image.cs
- WindowsListViewSubItem.cs
- coordinatorscratchpad.cs
- TextSelectionProcessor.cs
- TextSpan.cs
- InvokerUtil.cs
- FrameworkElement.cs
- HttpCookie.cs
- ResourceExpression.cs
- DateRangeEvent.cs
- DoubleStorage.cs
- ContainerFilterService.cs
- ClientTarget.cs
- HtmlToClrEventProxy.cs
- InternalDispatchObject.cs
- PowerStatus.cs
- RtType.cs
- SingleAnimationBase.cs
- DbUpdateCommandTree.cs
- IdentityReference.cs
- DesignerSerializerAttribute.cs
- TextServicesPropertyRanges.cs
- RenderOptions.cs
- ServiceDescription.cs
- BuildManagerHost.cs
- NameValuePermission.cs
- ObsoleteAttribute.cs
- ActionFrame.cs
- PrincipalPermissionMode.cs
- XPathNodeIterator.cs
- PlacementWorkspace.cs
- TimeSpan.cs
- CodeCompileUnit.cs
- ToolboxBitmapAttribute.cs
- TemplateControlParser.cs
- VisualProxy.cs
- SoapObjectWriter.cs
- Models.cs